00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file OS_NS_sys_shm.h 00006 * 00007 * $Id: OS_NS_sys_shm.h 74005 2006-08-14 11:30:00Z johnnyw $ 00008 * 00009 * @author Douglas C. Schmidt <schmidt@cs.wustl.edu> 00010 * @author Jesper S. M|ller<stophph@diku.dk> 00011 * @author and a cast of thousands... 00012 * 00013 * Originally in OS.h. 00014 */ 00015 //============================================================================= 00016 00017 #ifndef ACE_OS_NS_SYS_SHM_H 00018 # define ACE_OS_NS_SYS_SHM_H 00019 00020 # include /**/ "ace/pre.h" 00021 00022 # include "ace/config-all.h" 00023 00024 # if !defined (ACE_LACKS_PRAGMA_ONCE) 00025 # pragma once 00026 # endif /* ACE_LACKS_PRAGMA_ONCE */ 00027 00028 #include "ace/os_include/sys/os_shm.h" 00029 #include /**/ "ace/ACE_export.h" 00030 00031 #if defined (ACE_EXPORT_MACRO) 00032 # undef ACE_EXPORT_MACRO 00033 #endif 00034 #define ACE_EXPORT_MACRO ACE_Export 00035 00036 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00037 00038 namespace ACE_OS 00039 { 00040 00041 //@{ @name A set of wrappers for System V shared memory. 00042 ACE_NAMESPACE_INLINE_FUNCTION 00043 void *shmat (int int_id, 00044 const void *shmaddr, 00045 int shmflg); 00046 00047 ACE_NAMESPACE_INLINE_FUNCTION 00048 int shmctl (int int_id, 00049 int cmd, 00050 struct shmid_ds *buf); 00051 00052 ACE_NAMESPACE_INLINE_FUNCTION 00053 int shmdt (const void *shmaddr); 00054 00055 ACE_NAMESPACE_INLINE_FUNCTION 00056 int shmget (key_t key, 00057 size_t size, 00058 int flags); 00059 ///@} 00060 00061 } /* namespace ACE_OS */ 00062 00063 ACE_END_VERSIONED_NAMESPACE_DECL 00064 00065 # if defined (ACE_HAS_INLINED_OSCALLS) 00066 # if defined (ACE_INLINE) 00067 # undef ACE_INLINE 00068 # endif /* ACE_INLINE */ 00069 # define ACE_INLINE inline 00070 # include "ace/OS_NS_sys_shm.inl" 00071 # endif /* ACE_HAS_INLINED_OSCALLS */ 00072 00073 # include /**/ "ace/post.h" 00074 #endif /* ACE_OS_NS_SYS_SHM_H */