ascii-chat
0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
platform/mmap.h
Go to the documentation of this file.
1
#pragma once
2
28
#include <stddef.h>
29
#include <
stdbool.h
>
30
#include "../common.h"
31
32
#ifdef _WIN32
33
#include <windows.h>
34
#endif
35
36
#ifdef __cplusplus
37
extern
"C"
{
38
#endif
39
46
typedef
struct
platform_mmap
{
47
void
*
addr
;
48
size_t
size
;
49
#ifdef _WIN32
50
HANDLE file_handle;
51
HANDLE mapping_handle;
52
#else
53
int
fd
;
54
#endif
55
}
platform_mmap_t
;
56
64
void
platform_mmap_init
(
platform_mmap_t
*mapping);
65
95
asciichat_error_t
platform_mmap_open
(
const
char
*path,
size_t
size,
platform_mmap_t
*out);
96
109
void
platform_mmap_close
(
platform_mmap_t
*mapping);
110
125
void
platform_mmap_sync
(
platform_mmap_t
*mapping,
bool
async);
126
133
bool
platform_mmap_is_valid
(
const
platform_mmap_t
*mapping);
134
135
#ifdef __cplusplus
136
}
137
#endif
138
/* platform */
asciichat_error_t
asciichat_error_t
Error and exit codes - unified status values (0-255)
Definition
error_codes.h:46
platform_mmap_close
void platform_mmap_close(platform_mmap_t *mapping)
Unmap and close a memory-mapped file.
platform_mmap_open
asciichat_error_t platform_mmap_open(const char *path, size_t size, platform_mmap_t *out)
Memory-map a file for read/write access.
platform_mmap_is_valid
bool platform_mmap_is_valid(const platform_mmap_t *mapping)
Check if a mapping is currently valid.
platform_mmap_sync
void platform_mmap_sync(platform_mmap_t *mapping, bool async)
Flush memory-mapped changes to disk.
platform_mmap_t
struct platform_mmap platform_mmap_t
Memory-mapped file handle.
platform_mmap_init
void platform_mmap_init(platform_mmap_t *mapping)
Initialize a platform_mmap_t structure.
stdbool.h
platform_mmap
Memory-mapped file handle.
Definition
platform/mmap.h:46
platform_mmap::size
size_t size
Definition
platform/mmap.h:48
platform_mmap::fd
int fd
Definition
platform/mmap.h:53
platform_mmap::addr
void * addr
Definition
platform/mmap.h:47
lib
platform
mmap.h
Generated by
1.9.8