RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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
23extern "C" {
24#endif /* __cplusplus */
25
26extern const size_t _IO_Number_of_drivers;
27
28extern rtems_driver_address_table _IO_Driver_address_table[];
29
30extern bool _IO_All_drivers_initialized;
31
38
39ISR_LOCK_DECLARE( extern, _IO_Driver_registration_lock )
40
41RTEMS_INLINE_ROUTINE void _IO_Driver_registration_acquire(
42 ISR_lock_Context *lock_context
43)
44{
46 &_IO_Driver_registration_lock,
47 lock_context
48 );
49}
50
51RTEMS_INLINE_ROUTINE void _IO_Driver_registration_release(
52 ISR_lock_Context *lock_context
53)
54{
56 &_IO_Driver_registration_lock,
57 lock_context
58 );
59}
60
61#ifdef __cplusplus
62}
63#endif /* __cplusplus */
64
65#endif /* _RTEMS_IOIMPL_H */
Classic Input/Output Manager API.
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:66
#define ISR_LOCK_DECLARE(_qualifier, _designator)
Declares an ISR lock variable.
Definition: isrlock.h:104
#define _ISR_lock_Release_and_ISR_enable(_lock, _context)
Releases an ISR lock.
Definition: isrlock.h:263
#define _ISR_lock_ISR_disable_and_acquire(_lock, _context)
Acquires an ISR lock.
Definition: isrlock.h:238
void _IO_Initialize_all_drivers(void)
Initialization of all device drivers.
Definition: io.c:26
ISR Locks.
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:65
Definition: io.h:48