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 Member Functions |
| 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 |
size_t | 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 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.
|
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 [protected] |
- Enumerator:
-
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 |
size, |
|
|
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 |
internal_id, |
|
|
int |
flags = 0 | |
|
) |
| | |
Member Function Documentation
ACE_INLINE 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 | |
|
) |
| | |
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 | |
|
) |
| | |
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::detach |
( |
void |
|
) |
|
Detach this shared memory segment.
ACE_INLINE int ACE_SV_Shared_Memory::remove |
( |
void |
|
) |
|
Remove this shared memory segment.
ACE_INLINE int ACE_SV_Shared_Memory::control |
( |
int |
cmd, |
|
|
void * |
buf | |
|
) |
| | |
Forward to underlying System V <shmctl>.
ACE_INLINE void * ACE_SV_Shared_Memory::get_segment_ptr |
( |
void |
|
) |
const |
ACE_INLINE size_t ACE_SV_Shared_Memory::get_segment_size |
( |
void |
|
) |
const |
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_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_SV_Shared_Memory::dump |
( |
void |
|
) |
const |
Dump the state of an object.
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE size_t ACE_SV_Shared_Memory::round_up |
( |
size_t |
len |
) |
[protected] |
Round up to an appropriate page size.
Member Data Documentation
Declare the dynamic allocation hooks.
Size of the mapped segment.
Pointer to the beginning of the segment.
The documentation for this class was generated from the following files: