
This feels a lot more consistent and Unixy: create_shared_buffer() => shbuf_create() share_buffer_with() => shbuf_allow_pid() share_buffer_globally() => shbuf_allow_all() get_shared_buffer() => shbuf_get() release_shared_buffer() => shbuf_release() seal_shared_buffer() => shbuf_seal() get_shared_buffer_size() => shbuf_get_size() Also, "shared_buffer_id" is shortened to "shbuf_id" all around.
27 lines
666 B
Markdown
27 lines
666 B
Markdown
## Name
|
|
|
|
shbuf\_create - create a shareable memory buffer
|
|
|
|
## Synopsis
|
|
```**c++
|
|
#include <SharedBuffer.h>
|
|
|
|
int shbuf_create(int size, void** buffer);
|
|
```
|
|
|
|
## Description
|
|
|
|
Creates a new memory region that can be shared with other processes. The region is only accessible to the calling process by default.
|
|
|
|
## Return value
|
|
|
|
If a region is successfully created, `shbuf_create()` stores a pointer to the memory in `buffer` and returns a buffer ID. Otherwise, it returns -1 and sets `errno` to describe the error.
|
|
|
|
## Errors
|
|
|
|
* `EINVAL`: `size` is zero or negative.
|
|
* `EFAULT`: `buffer` is not a valid address.
|
|
|
|
## See also
|
|
|
|
* [`shbuf_allow_pid`(2)](shbuf_allow_pid.md)
|