ACE 8.0.1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
ACE_SV_Shared_Memory Class Reference

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

#include <SV_Shared_Memory.h>

Public Types

enum  { ACE_CREATE = IPC_CREAT , ACE_OPEN = 0 }
 

Public Member Functions

 ACE_SV_Shared_Memory ()
 
 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 ()
 Detach this shared memory segment.
 
int remove ()
 Remove this shared memory segment.
 
int control (int cmd, void *buf)
 Forward to underlying System V <shmctl>.
 
voidget_segment_ptr () const
 
size_t get_segment_size () const
 
ACE_HANDLE get_id () const
 Return the ID of the shared memory segment (i.e., an ACE_HANDLE).
 
void dump () 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 Member Functions

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

Protected Attributes

ACE_HANDLE internal_id_
 Internal identifier.
 
size_t size_
 Size of the mapped segment.
 
voidsegment_ptr_
 Pointer to the beginning of the segment.
 

Detailed Description

This is a wrapper for System V shared memory.

Member Enumeration Documentation

◆ anonymous enum

Enumerator
ACE_CREATE 
ACE_OPEN 

◆ anonymous enum

anonymous enum
protected
Enumerator
ALIGN_WORDB 

Most restrictive alignment.

Constructor & Destructor Documentation

◆ ACE_SV_Shared_Memory() [1/3]

ACE_SV_Shared_Memory::ACE_SV_Shared_Memory ( )

◆ ACE_SV_Shared_Memory() [2/3]

ACE_SV_Shared_Memory::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() [3/3]

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

Member Function Documentation

◆ attach()

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

Attach this shared memory segment.

◆ control()

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

Forward to underlying System V <shmctl>.

◆ detach()

int ACE_SV_Shared_Memory::detach ( )
inline

Detach this shared memory segment.

◆ dump()

void ACE_SV_Shared_Memory::dump ( ) const

Dump the state of an object.

◆ get_id()

ACE_HANDLE ACE_SV_Shared_Memory::get_id ( ) const
inline

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

◆ get_segment_ptr()

void * ACE_SV_Shared_Memory::get_segment_ptr ( ) const
inline

◆ get_segment_size()

size_t ACE_SV_Shared_Memory::get_segment_size ( ) const
inline

◆ open()

int ACE_SV_Shared_Memory::open ( key_t external_id,
size_t size,
int create = ACE_SV_Shared_Memory::ACE_OPEN,
int perms = ACE_DEFAULT_FILE_PERMS )
inline

◆ open_and_attach()

int ACE_SV_Shared_Memory::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 )

◆ remove()

int ACE_SV_Shared_Memory::remove ( )
inline

Remove this shared memory segment.

◆ round_up()

size_t ACE_SV_Shared_Memory::round_up ( size_t len)
inlineprotected

Round up to an appropriate page size.

Member Data Documentation

◆ ACE_ALLOC_HOOK_DECLARE

ACE_SV_Shared_Memory::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

◆ internal_id_

ACE_HANDLE ACE_SV_Shared_Memory::internal_id_
protected

Internal identifier.

◆ segment_ptr_

void* ACE_SV_Shared_Memory::segment_ptr_
protected

Pointer to the beginning of the segment.

◆ size_

size_t ACE_SV_Shared_Memory::size_
protected

Size of the mapped segment.


The documentation for this class was generated from the following files: