Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers fnet_isr.h Source File

fnet_isr.h

00001 /**************************************************************************
00002 *
00003 * Copyright 2011-2016 by Andrey Butok. FNET Community.
00004 * Copyright 2008-2010 by Andrey Butok. Freescale Semiconductor, Inc.
00005 *
00006 ***************************************************************************
00007 *
00008 *  Licensed under the Apache License, Version 2.0 (the "License"); you may
00009 *  not use this file except in compliance with the License.
00010 *  You may obtain a copy of the License at
00011 *
00012 *  http://www.apache.org/licenses/LICENSE-2.0
00013 *
00014 *  Unless required by applicable law or agreed to in writing, software
00015 *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
00016 *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00017 *  See the License for the specific language governing permissions and
00018 *  limitations under the License.
00019 *
00020 **********************************************************************/
00021 /*!
00022 * @brief Private. Interrupt dispatcher API.
00023 *
00024 ***************************************************************************/
00025 
00026 #ifndef _FNET_ISR_H_
00027 
00028 #define _FNET_ISR_H_
00029 
00030 #ifndef FNET_ISR_HANDLER
00031     #define FNET_ISR_HANDLER    fnet_cpu_isr
00032 #endif
00033 #ifndef FNET_ISR_HANDLER_INSTALL
00034     #define FNET_ISR_HANDLER_INSTALL    fnet_cpu_isr_install
00035 #endif
00036 
00037 /* Defines number of the first event handler. MUST be higher than any HW-vector number. */
00038 #define FNET_EVENT_VECTOR_NUMBER (1025)
00039 
00040 /************************************************************************
00041 *     Events
00042 *************************************************************************/
00043 typedef fnet_int32_t fnet_event_desc_t;
00044 
00045 /************************************************************************
00046 *     Function Prototypes
00047 *************************************************************************/
00048 #if defined(__cplusplus)
00049 extern "C" {
00050 #endif
00051 
00052 fnet_return_t fnet_isr_vector_init( fnet_uint32_t vector_number, void (*handler_top)(fnet_uint32_t cookie), void (*handler_bottom)(fnet_uint32_t cookie), fnet_uint32_t priority, fnet_uint32_t cookie );
00053 fnet_event_desc_t fnet_event_init(void (*event_handler)(fnet_uint32_t cookie), fnet_uint32_t cookie);
00054 void fnet_event_raise(fnet_event_desc_t event_number);
00055 void fnet_isr_vector_release(fnet_uint32_t vector_number);
00056 void fnet_isr_lock(void);
00057 void fnet_isr_unlock(void);
00058 void fnet_isr_init(void);
00059 void fnet_isr_handler(fnet_uint32_t vector_number);
00060 fnet_return_t fnet_cpu_isr_install(fnet_uint32_t vector_number, fnet_uint32_t priority);
00061 
00062 #if defined(__cplusplus)
00063 }
00064 #endif
00065 
00066 #endif