00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _XENO_POSIX_SYS_MMAN_H
00020 #define _XENO_POSIX_SYS_MMAN_H
00021
00022 #if defined(__KERNEL__) || defined(__XENO_SIM__)
00023
00024 #include <nucleus/xenomai.h>
00025
00026 #ifdef __KERNEL__
00027 #include <asm/mman.h>
00028 #endif
00029
00030 #ifdef __XENO_SIM__
00031 #include_next <sys/mman.h>
00032 #include <posix_overrides.h>
00033 #endif
00034
00035 #define MAP_FAILED ((void *) -1)
00036
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040
00041 int shm_open(const char *name, int oflag, mode_t mode);
00042
00043 int shm_unlink(const char *name);
00044
00045 void *mmap(void *addr, size_t len, int prot, int flags,
00046 int fildes, off_t off);
00047
00048 int munmap(void *addr, size_t len);
00049
00050 #ifdef __cplusplus
00051 }
00052 #endif
00053
00054 #else
00055
00056 #include_next <sys/mman.h>
00057
00058 #ifdef __cplusplus
00059 extern "C" {
00060 #endif
00061
00062 int __real_shm_open(const char *name, int oflag, mode_t mode);
00063
00064 int __real_shm_unlink(const char *name);
00065
00066 void *__real_mmap(void *addr,
00067 size_t len,
00068 int prot,
00069 int flags,
00070 int fildes,
00071 long off);
00072
00073 #if defined(_LARGEFILE64_SOURCE) \
00074 || defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
00075 void *__real_mmap64(void *addr,
00076 size_t len,
00077 int prot,
00078 int flags,
00079 int fildes,
00080 long long off);
00081 #endif
00082
00083 #if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
00084 #define __real_mmap __real_mmap64
00085 #endif
00086
00087 int __real_munmap(void *addr, size_t len);
00088
00089 #ifdef __cplusplus
00090 }
00091 #endif
00092
00093 #endif
00094
00095 #endif