RTEMS
5.1
cpukit
include
rtems
ioimpl.h
Go to the documentation of this file.
1
7
/*
8
* COPYRIGHT (c) 1989-2008.
9
* On-Line Applications Research Corporation (OAR).
10
*
11
* The license and distribution terms for this file may be
12
* found in the file LICENSE in this distribution or at
13
* http://www.rtems.org/license/LICENSE.
14
*/
15
16
#ifndef _RTEMS_IOIMPL_H
17
#define _RTEMS_IOIMPL_H
18
19
#include <
rtems/io.h
>
20
#include <
rtems/score/isrlock.h
>
21
22
#ifdef __cplusplus
23
extern
"C"
{
24
#endif
/* __cplusplus */
25
26
extern
const
size_t
_IO_Number_of_drivers;
27
28
extern
rtems_driver_address_table
_IO_Driver_address_table[];
29
30
extern
bool
_IO_All_drivers_initialized;
31
37
void
_IO_Initialize_all_drivers
(
void
);
38
39
ISR_LOCK_DECLARE
(
extern
, _IO_Driver_registration_lock )
40
41
RTEMS_INLINE_ROUTINE
void
_IO_Driver_registration_acquire(
42
ISR_lock_Context
*lock_context
43
)
44
{
45
_ISR_lock_ISR_disable_and_acquire
(
46
&_IO_Driver_registration_lock,
47
lock_context
48
);
49
}
50
51
RTEMS_INLINE_ROUTINE
void
_IO_Driver_registration_release(
52
ISR_lock_Context
*lock_context
53
)
54
{
55
_ISR_lock_Release_and_ISR_enable
(
56
&_IO_Driver_registration_lock,
57
lock_context
58
);
59
}
60
61
#ifdef __cplusplus
62
}
63
#endif
/* __cplusplus */
64
65
#endif
/* _RTEMS_IOIMPL_H */
_ISR_lock_Release_and_ISR_enable
#define _ISR_lock_Release_and_ISR_enable(_lock, _context)
Releases an ISR lock.
Definition:
isrlock.h:263
ISR_LOCK_DECLARE
#define ISR_LOCK_DECLARE(_qualifier, _designator)
Declares an ISR lock variable.
Definition:
isrlock.h:104
rtems_driver_address_table
Definition:
io.h:48
io.h
Classic Input/Output Manager API.
_ISR_lock_ISR_disable_and_acquire
#define _ISR_lock_ISR_disable_and_acquire(_lock, _context)
Acquires an ISR lock.
Definition:
isrlock.h:238
_IO_Initialize_all_drivers
void _IO_Initialize_all_drivers(void)
Initialization of all device drivers.
Definition:
io.c:26
ISR_lock_Context
Local ISR lock context for acquire and release pairs.
Definition:
isrlock.h:65
RTEMS_INLINE_ROUTINE
#define RTEMS_INLINE_ROUTINE
Definition:
basedefs.h:66
isrlock.h
ISR Locks.
Generated by
1.8.15