shm_open (share_name, open_flags, create_mode, size?)
The name of the shared memory object.
Open control flags.
Creation mode.
The size of the shared object in bytes.
This function is a wrapper for the C function shm_open. It is currently only available in QNX 4.
The name of the shared memory object is usually a name found under the /dev/shmem directory. Direct shared memory access to devices is acheived through a shm_open call to the existing Physical shared memory.
If you are accessing the existing Physical shared memory region (/dev/shmem/Physical) DO NOT use the size argument, as you may inadvertantly resize this shared memory. The size argument is added as a convenience, and can be used to specify the size of a newly created object. |
Valid open-flags are OR-ed combinations of:
O_RDONLY open for read-only
O_RDWR open for read and write access
O_CREAT create a new shared memory segment with access privledges governed by the create_mode parameter
O_EXCL Exclusive mode. If O_EXCL and O_CREAT are set then shm_open will fail if the shared memory segment exists.
O_TRUNC If the shared memory object exists, and it is successfully opened O_RDWR, the object is truncated to zero length and the mode and owner are unchanged.
The creation mode is usually an octal number in the range 0o000 - 0o777 defining the access privledges for the shared memory object. Require the 'const/filesys' file to load constants to make this arg easier
Possible errno values are:
EACCESS permission to create the shared memory object denied
EEXIST O_CREAT and O_EXCL are set and the named shared memory object already exists
EINTR The function call was interrupted by a signal
EMFILE Too many file descriptors in use by this process
ENAMETOOLONG The lengthof the name arg is too long
ENFILE To many shared memory objects are currently open in the system
ENOENT O_CREAT is not set and the named shared memory object does not exist, or O_CREAT is set and either the name prefix does not exist or the name arg is an empty string
ENOSPC Not enough space for the creation of the new shared memory object
ENOSYS This function is not supported by this implementation.
Copyright © 1995-2010 by Cogent Real-Time Systems, Inc. All rights reserved.