blob: 0c0c1cec6a529805c78a033356ca955beb9806fc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#ifndef KIT_SHARED_MEMORY_H
#define KIT_SHARED_MEMORY_H
#include "status.h"
#include "string_ref.h"
#if !defined(_WIN32) || defined(__CYGWIN__)
# include <limits.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
s32 status;
i64 size;
u8 *bytes;
#if defined(_WIN32) && !defined(__CYGWIN__)
void *_handle;
#else
i8 _owned;
char _name[NAME_MAX + 1];
#endif
} kit_shared_memory_t;
enum {
KIT_SHARED_MEMORY_OPEN,
KIT_SHARED_MEMORY_CREATE,
};
kit_shared_memory_t kit_shared_memory_open(kit_str_t name, i64 size,
i32 mode);
s32 kit_shared_memory_close(kit_shared_memory_t *mem);
s32 kit_shared_memory_clean(kit_str_t name);
#ifdef __cplusplus
}
#endif
#ifndef KIT_DISABLE_SHORT_NAMES
# define shared_memory_t kit_shared_memory_t
# define shared_memory_clean kit_shared_memory_clean
# define shared_memory_open kit_shared_memory_open
# define shared_memory_close kit_shared_memory_close
# define SHARED_MEMORY_OPEN KIT_SHARED_MEMORY_OPEN
# define SHARED_MEMORY_CREATE KIT_SHARED_MEMORY_CREATE
#endif
#endif
|