RTEMS  5.0.0
mmanimpl.h
Go to the documentation of this file.
1 
8 /*
9  * Copyright (c) 2012 Chris Johns
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_POSIX_MMANIMPL_H
17 #define _RTEMS_POSIX_MMANIMPL_H
18 
19 #include <rtems/libio_.h>
20 #include <rtems/chain.h> /* FIXME: use score chains for proper layering? */
21 #include <rtems/posix/shm.h>
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 /* FIXME: add Doxygen */
28 
32 typedef struct mmap_mappings_s {
34  void* addr;
35  size_t len;
36  int flags;
38 } mmap_mapping;
39 
40 extern rtems_chain_control mmap_mappings;
41 
42 static inline void mmap_mappings_lock_obtain( void )
43 {
44  rtems_libio_lock();
45 }
46 
47 static inline void mmap_mappings_lock_release( void )
48 {
49  rtems_libio_unlock();
50 }
51 
52 #ifdef __cplusplus
53 }
54 #endif
55 
56 #endif
Definition: chain.h:65
Internal Support for POSIX Shared Memory.
struct mmap_mappings_s mmap_mapping
Definition: chain.h:83
Control for a POSIX Shared Memory Object.
Definition: shm.h:111
rtems_chain_node node
Definition: mmanimpl.h:33
Definition: mmanimpl.h:32
POSIX_Shm_Control * shm
Definition: mmanimpl.h:37
Chain API.
LibIO Internal Interface.
size_t len
Definition: mmanimpl.h:35
void * addr
Definition: mmanimpl.h:34
int flags
Definition: mmanimpl.h:36