Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_SV_Shared_Memory Class Reference

This is a wrapper for System V shared memory. More...

#include <SV_Shared_Memory.h>

List of all members.

Public Types

enum  { ACE_CREATE = IPC_CREAT, ACE_OPEN = 0 }

Public Methods

 ACE_SV_Shared_Memory (void)
 ACE_SV_Shared_Memory (key_t external_id, size_t size, int create, int perms = ACE_DEFAULT_FILE_PERMS, void *virtual_addr = 0, int flags = 0)
 ACE_SV_Shared_Memory (ACE_HANDLE internal_id, int flags = 0)
int open (key_t external_id, size_t size, int create = ACE_SV_Shared_Memory::ACE_OPEN, int perms = ACE_DEFAULT_FILE_PERMS)
int open_and_attach (key_t external_id, size_t size, int create = ACE_SV_Shared_Memory::ACE_OPEN, int perms = ACE_DEFAULT_FILE_PERMS, void *virtual_addr = 0, int flags = 0)
int attach (void *virtual_addr = 0, int flags =0)
 Attach this shared memory segment.

int detach (void)
 Detach this shared memory segment.

int remove (void)
 Remove this shared memory segment.

int control (int cmd, void *buf)
 Forward to underlying System V <shmctl>.

void* get_segment_ptr (void) const
int get_segment_size (void) const
ACE_HANDLE get_id (void) const
 Return the ID of the shared memory segment (i.e., an ACE_HANDLE).

void dump (void) const
 Dump the state of an object.


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


Protected Types

enum  { ALIGN_WORDB = 8 }

Protected Methods

int round_up (size_t len)
 Round up to an appropriate page size.


Protected Attributes

ACE_HANDLE internal_id_
 Internal identifier.

int size_
 Size of the mapped segment.

void* segment_ptr_
 Pointer to the beginning of the segment.


Detailed Description

This is a wrapper for System V shared memory.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
ACE_CREATE  
ACE_OPEN  

anonymous enum [protected]
 

Enumeration values:
ALIGN_WORDB   Most restrictive alignment.


Constructor & Destructor Documentation

ACE_SV_Shared_Memory::ACE_SV_Shared_Memory ( void )
 

ACE_SV_Shared_Memory::ACE_SV_Shared_Memory ( key_t external_id,
size_t sz,
int create,
int perms = ACE_DEFAULT_FILE_PERMS,
void * virtual_addr = 0,
int flags = 0 )
 

ACE_SV_Shared_Memory::ACE_SV_Shared_Memory ( ACE_HANDLE int_id,
int flags = 0 )
 


Member Function Documentation

ACE_INLINE int ACE_SV_Shared_Memory::attach ( void * virtual_addr = 0,
int flags = 0 )
 

Attach this shared memory segment.

ACE_INLINE int ACE_SV_Shared_Memory::control ( int cmd,
void * buf )
 

Forward to underlying System V <shmctl>.

ACE_INLINE int ACE_SV_Shared_Memory::detach ( void )
 

Detach this shared memory segment.

void ACE_SV_Shared_Memory::dump ( void ) const
 

Dump the state of an object.

ACE_INLINE ACE_HANDLE ACE_SV_Shared_Memory::get_id ( void ) const
 

Return the ID of the shared memory segment (i.e., an ACE_HANDLE).

ACE_INLINE void * ACE_SV_Shared_Memory::get_segment_ptr ( void ) const
 

ACE_INLINE int ACE_SV_Shared_Memory::get_segment_size ( void ) const
 

ACE_INLINE int ACE_SV_Shared_Memory::open ( key_t external_id,
size_t sz,
int create = ACE_SV_Shared_Memory::ACE_OPEN,
int perms = ACE_DEFAULT_FILE_PERMS )
 

int ACE_SV_Shared_Memory::open_and_attach ( key_t external_id,
size_t sz,
int create = ACE_SV_Shared_Memory::ACE_OPEN,
int perms = ACE_DEFAULT_FILE_PERMS,
void * virtual_addr = 0,
int flags = 0 )
 

ACE_INLINE int ACE_SV_Shared_Memory::remove ( void )
 

Remove this shared memory segment.

ACE_INLINE int ACE_SV_Shared_Memory::round_up ( size_t len ) [protected]
 

Round up to an appropriate page size.


Member Data Documentation

ACE_SV_Shared_Memory::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

ACE_HANDLE ACE_SV_Shared_Memory::internal_id_ [protected]
 

Internal identifier.

void * ACE_SV_Shared_Memory::segment_ptr_ [protected]
 

Pointer to the beginning of the segment.

int ACE_SV_Shared_Memory::size_ [protected]
 

Size of the mapped segment.


The documentation for this class was generated from the following files:
Generated at Wed Nov 21 10:33:59 2001 for ACE by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000