blob: 95f7cd9056a81e3db890f823c4ff2788855c7c00 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
/*
* Copyright (c) 2011 Gedare Bloom.
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef LIBBSP_SHARED_SETVEC_H
#define LIBBSP_SHARED_SETVEC_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/**
* @defgroup bsp_set_vector
*
* @ingroup bsp_kit
*
* @brief Install an interrupt handler for simple vectored architectures.
*
* @{
*/
/**
* Raw trap handler vectors directly to isr handler.
*/
#define BSP_SET_VECTOR_RAW 0
/**
* RTEMS trap handler vectors through rtems interrupt handler (_ISR_Handler).
*/
#define BSP_SET_VECTOR_RTEMS 1
/**
* @brief bsp_set_vector
*
* Installs @a handler as the interrupt handler for vector number @a vector
* with @a type specifying either BSP_SET_VECTOR_RAW or BSP_SET_VECTOR_RTEMS
*
* @return Returns the old vector handler
*/
rtems_isr_entry bsp_set_vector(
rtems_isr_entry handler,
rtems_vector_number vector,
int type
);
/** @} */
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* LIBBSP_SHARED_SETVEC_H */
|