Shared-memory APIs.
More...
Go to the source code of this file.
|
| int | qshm_init (const char *keyfile, int keyid, size_t size, bool recreate) |
| | Initialize shared memory.
|
| int | qshm_getid (const char *keyfile, int keyid) |
| | Get the identifier of existing shared memory.
|
| void * | qshm_get (int shmid) |
| | Get a pointer to shared memory.
|
| bool | qshm_free (int shmid) |
| | Free shared memory.
|
Shared-memory APIs.
- Note
[your header file]
struct SharedData {
(... structrue definitions ...)
}
[shared memory creater]
int shmid =
qshm_init(
"/some/file/for/generating/unique/key",
's',
sizeof(
struct SharedData),
true);
if(shmid < 0) {
printf("ERROR: Can't initialize shared memory.\n");
return -1;
}
struct SharedData *sdata = (SharedData *)
qshm_get(shmid);
if(sdata == NULL) {
printf("ERROR: Can't get shared memory.\n");
return -1;
}
[shared memory user]
int shmid =
qshm_getid(
"/some/file/for/generating/unique/key",
's');
if(shmid < 0) {
printf("ERROR: Can't get shared memory id.\n");
return -1;
}
struct SharedData *sdata = (SharedData *)
qshm_get(shmid);
if(sdata == NULL) {
printf("ERROR: Can't get shared memory.\n");
return -1;
}
void * qshm_get(int shmid)
Get a pointer to shared memory.
int qshm_init(const char *keyfile, int keyid, size_t size, bool recreate)
Initialize shared memory.
int qshm_getid(const char *keyfile, int keyid)
Get the identifier of existing shared memory.
Definition in file qshm.c.
◆ qshm_init()
| int qshm_init |
( |
const char * | keyfile, |
|
|
int | keyid, |
|
|
size_t | size, |
|
|
bool | recreate ) |
Initialize shared memory.
- Parameters
-
| keyfile | seed used to generate a unique IPC key |
| keyid | seed used to generate a unique IPC key |
| size | size of the shared memory |
| recreate | set to true to recreate the shared memory if it already exists |
- Returns
- non-negative shared memory identifier on success, or -1 on failure.
Definition at line 91 of file qshm.c.
◆ qshm_getid()
| int qshm_getid |
( |
const char * | keyfile, |
|
|
int | keyid ) |
Get the identifier of existing shared memory.
- Parameters
-
| keyfile | seed used to generate a unique IPC key |
| keyid | seed used to generate a unique IPC key |
- Returns
- non-negative shared memory identifier on success, or -1 on failure.
Definition at line 127 of file qshm.c.
◆ qshm_get()
| void * qshm_get |
( |
int | shmid | ) |
|
Get a pointer to shared memory.
- Parameters
-
| shmid | shared memory identifier |
- Returns
- pointer to shared memory, or NULL on failure.
Definition at line 149 of file qshm.c.
◆ qshm_free()
| bool qshm_free |
( |
int | shmid | ) |
|
Free shared memory.
- Parameters
-
| shmid | shared memory identifier |
- Returns
- true on success, otherwise false.
Definition at line 167 of file qshm.c.