# 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

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 | 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::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.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL 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 size_t ACE_SV_Shared_Memory::get_segment_size | ( | void |  | ) | const

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::remove | ( | void |  | ) |

| Remove this shared memory segment.

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

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.

size_t ACE_SV_Shared_Memory::size_ `[protected]`

| Size of the mapped segment.

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

- SV_Shared_Memory.h
- SV_Shared_Memory.cpp
- SV_Shared_Memory.inl