/* $Id$ * ============================================================================ * * = LIBRARY * pace * * = FILENAME * pace/sys/mman.h * * = AUTHOR * Luther Baker * * ============================================================================ */ #ifndef PACE_SYS_MMAN_H #define PACE_SYS_MMAN_H #include "pace/config/defines.h" #if (PACE_HAS_POSIX) # include "pace/posix/mman.h" #elif (PACE_VXWORKS) # include "pace/vxworks/mman.h" #elif (PACE_WIN32) # include "pace/win32/mman.h" #endif #if defined (PACE_HAS_CPLUSPLUS) extern "C" { #endif /* PACE_HAS_CPLUSPLUS */ /** PACE's implementation of the POSIX function mlock. See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; IEEE Std 1003.1, 1996 Edition), Section 12.1.2. */ #if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE int pace_mlock (const void * addr, pace_size_t len); #endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ /** PACE's implementation of the POSIX function mlockall. See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; IEEE Std 1003.1, 1996 Edition), Section 12.1.1. */ #if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE int pace_mlockall (int flags); #endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ /** PACE's implementation of the POSIX function mmap. See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; IEEE Std 1003.1, 1996 Edition), Section 12.2.1. */ #if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE void * pace_mmap (void * addr, pace_size_t len, int prot, int flags, PACE_HANDLE fildes, pace_off_t off); #endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ /** PACE's implementation of the POSIX function mprotect. See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; IEEE Std 1003.1, 1996 Edition), Section 12.2.3. */ #if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE int pace_mprotect (void * addr, pace_size_t len, int prot); #endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ /** PACE's implementation of the POSIX function msync. See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; IEEE Std 1003.1, 1996 Edition), Section 12.2.4. */ #if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE int pace_msync (void * addr, pace_size_t len, int flags); #endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ /** PACE's implementation of the POSIX function munlock. See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; IEEE Std 1003.1, 1996 Edition), Section 12.1.2. */ #if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE int pace_munlock (const void * addr, pace_size_t len); #endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ /** PACE's implementation of the POSIX function munlockall. See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; IEEE Std 1003.1, 1996 Edition), Section 12.1.1. */ #if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE int pace_munlockall (); #endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ /** PACE's implementation of the POSIX function munmap. See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; IEEE Std 1003.1, 1996 Edition), Section 12.2.2. */ #if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE int pace_munmap (void * addr, pace_size_t len); #endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ /** PACE's implementation of the POSIX function shm_open. See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; IEEE Std 1003.1, 1996 Edition), Section 12.3.1. */ #if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE PACE_HANDLE pace_shm_open (const char * name, int oflag, pace_mode_t mode); #endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ /* Requires PACE_POSIX_C_SOURCE > 2. */ /** PACE's implementation of the POSIX function shm_open. See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; IEEE Std 1003.1, 1996 Edition), Section 12.3.2. */ #if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE int pace_shm_unlink (const char * name); #endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ /* Requires PACE_POSIX_C_SOURCE > 2. */ #if defined (PACE_HAS_INLINE) # if (PACE_HAS_POSIX) # include "pace/posix/mman.inl" # elif (PACE_VXWORKS) # include "pace/vxworks/mman.inl" # elif (PACE_WIN32) # include "pace/win32/mman.inl" # endif #endif /* PACE_HAS_INLINE */ #if defined (PACE_HAS_CPLUSPLUS) } #endif /* PACE_HAS_CPLUSPLUS */ #endif /* PACE_SYS_MMAN_H */