shm_open() can create or open a shared memory block.
shm_open() takes 4 parameters: key, which is the system's id for the shared memory block, this parameter can be passed as a decimal or hex. The second parameter are the flags that you can use:
"a" for access (sets IPC_EXCL) use this flag when you need to open an existing shared memory segment
"c" for create (sets IPC_CREATE) use this flag when you need to create a new shared memory segment.
Note: Note: the 3rd and 4th should be entered as 0 if you are opening an existing memory segment. On success shm_open() will return an id that you can use to access the shared memory segment you've created.
This example opened a shared memory block with a system id of 0x0fff.