1#ifndef _MINIOS_NET_UNIX_SOCK_H_
2#define _MINIOS_NET_UNIX_SOCK_H_
7#define UNIX_SOCK_POOL_SIZE 8
8#define UNIX_SOCK_BUF_SIZE 4096
9#define UNIX_SOCK_PATH_MAX 108
10#define UNIX_BACKLOG_MAX 4
Definition unix_sock.h:20
struct unix_sock * peer
Definition unix_sock.h:25
struct unix_sock * backlog[UNIX_BACKLOG_MAX]
Definition unix_sock.h:26
char path[UNIX_SOCK_PATH_MAX]
Definition unix_sock.h:24
uint32_t buf_tail
Definition unix_sock.h:29
unix_state_t state
Definition unix_sock.h:23
int in_use
Definition unix_sock.h:21
uint8_t buf[UNIX_SOCK_BUF_SIZE]
Definition unix_sock.h:28
spinlock_t lock
Definition unix_sock.h:30
int backlog_tail
Definition unix_sock.h:27
int ref_count
Definition unix_sock.h:22
int backlog_head
Definition unix_sock.h:27
uint32_t buf_head
Definition unix_sock.h:29
unsigned int uint32_t
Definition types.h:34
unsigned char uint8_t
Definition types.h:28
#define UNIX_BACKLOG_MAX
Definition unix_sock.h:10
unix_state_t
Definition unix_sock.h:12
@ UNIX_STATE_FREE
Definition unix_sock.h:13
@ UNIX_STATE_CONNECTED
Definition unix_sock.h:16
@ UNIX_STATE_LISTENING
Definition unix_sock.h:15
@ UNIX_STATE_BOUND
Definition unix_sock.h:14
@ UNIX_STATE_CONNECTING
Definition unix_sock.h:17
unix_sock_t * unix_sock_alloc(void)
Definition unix_sock.c:39
unix_sock_t * unix_sock_accept(unix_sock_t *server)
Definition unix_sock.c:82
int unix_sock_bind(unix_sock_t *s, const char *path)
Definition unix_sock.c:63
int unix_sock_close(unix_sock_t *s)
Definition unix_sock.c:232
#define UNIX_SOCK_PATH_MAX
Definition unix_sock.h:9
int unix_sock_has_data(unix_sock_t *s)
Definition unix_sock.c:248
int unix_sock_write(unix_sock_t *s, const void *buf, size_t len)
Definition unix_sock.c:162
int unix_sock_read(unix_sock_t *s, void *buf, size_t len)
Definition unix_sock.c:190
int unix_sock_listen(unix_sock_t *s, int backlog)
Definition unix_sock.c:72
void unix_sock_free(unix_sock_t *s)
Definition unix_sock.c:54
int unix_sock_connect(unix_sock_t *s, const char *path)
Definition unix_sock.c:131
#define UNIX_SOCK_BUF_SIZE
Definition unix_sock.h:8
int unix_sock_socketpair(unix_sock_t **a, unix_sock_t **b)
Definition unix_sock.c:215
struct unix_sock unix_sock_t
uint32_t len
Definition virtio_net.c:1