1#ifndef ATALK_SERVER_IPC_H
2#define ATALK_SERVER_IPC_H
12#define IPC_HEADERLEN 14
13#define IPC_MAXMSGSIZE 90
16#define IPC_DISCOLDSESSION 0
17#define IPC_GETSESSION 1
20#define IPC_LOGINDONE 4
21#define IPC_CACHE_HINT 5
22#define IPC_SESSIONTOKEN 6
25#define CACHE_HINT_REFRESH 0
26#define CACHE_HINT_DELETE 1
27#define CACHE_HINT_DELETE_CHILDREN 2
28#define CACHE_HINT_VOLUME_RESET 3
29#define CACHE_HINT_COUNT 4
41 "Hint payload must be exactly 8 bytes");
48 "CACHE_HINT_COUNT must cover every CACHE_HINT_* value");
52#define HINT_BUF_SIZE 128
56#define HINT_FLUSH_INTERVAL_MS 50
uint32_t cnid_t
Definition adouble.h:157
data structures and utility functions for child processes
int ipc_server_read(server_child_t *children, int fd)
Read a IPC message from a child.
Definition server_ipc.c:543
int ipc_send_cache_hint(const AFPObj *obj, uint16_t vid, cnid_t cnid, uint8_t event)
Send a dircache invalidation hint from child to parent.
Definition server_ipc.c:949
#define CACHE_HINT_REFRESH
Definition server_ipc.h:25
#define CACHE_HINT_COUNT
Definition server_ipc.h:29
int ipc_child_state(AFPObj *obj, uint16_t state)
Definition server_ipc.c:721
#define CACHE_HINT_VOLUME_RESET
Definition server_ipc.h:28
int hint_buf_count(void)
Return current number of buffered hints.
Definition server_ipc.c:737
#define CACHE_HINT_DELETE_CHILDREN
Definition server_ipc.h:27
void hint_flush_pending(server_child_t *children)
Flush all buffered hints to sibling children.
Definition server_ipc.c:760
unsigned long long ipc_get_hints_dropped(void)
Definition server_ipc.c:896
int ipc_child_write(AFPObj *obj, uint16_t command, size_t len, void *token)
Definition server_ipc.c:679
unsigned long long ipc_get_hints_sent(void)
Definition server_ipc.c:891
#define CACHE_HINT_DELETE
Definition server_ipc.h:26
Definition server_ipc.h:33
uint8_t reserved
Definition server_ipc.h:35
uint8_t event
Definition server_ipc.h:34
cnid_t cnid
Definition server_ipc.h:37
uint16_t vid
Definition server_ipc.h:36
Definition server_child.h:47