| #ifndef _LOCAL_SOCKET_H_ |
| #define _LOCAL_SOCKET_H_ |
| |
| #ifndef UNIX_PATH_MAX |
| #define UNIX_PATH_MAX 108 |
| #endif |
| |
| struct local_conf { |
| int backlog; |
| int reuseaddr; |
| char path[UNIX_PATH_MAX]; |
| }; |
| |
| struct local_server { |
| int fd; |
| char path[UNIX_PATH_MAX]; |
| }; |
| |
| /* callback return values */ |
| #define LOCAL_RET_ERROR -1 |
| #define LOCAL_RET_OK 0 |
| #define LOCAL_RET_STOLEN 1 |
| |
| /* local server */ |
| int local_server_create(struct local_server *server, struct local_conf *conf); |
| void local_server_destroy(struct local_server *server); |
| int do_local_server_step(struct local_server *server, void *data, |
| int (*process)(int fd, void *data)); |
| |
| /* local client */ |
| int local_client_create(struct local_conf *conf); |
| void local_client_destroy(int fd); |
| int do_local_client_step(int fd, void (*process)(char *buf)); |
| int do_local_request(int, struct local_conf *,void (*step)(char *buf)); |
| void local_step(char *buf); |
| |
| #endif |