1#ifndef _LOCAL_SOCKET_H_ 2#define _LOCAL_SOCKET_H_ 3 4#ifndef UNIX_PATH_MAX 5#define UNIX_PATH_MAX 108 6#endif 7 8struct local_conf { 9 int backlog; 10 int reuseaddr; 11 char path[UNIX_PATH_MAX]; 12}; 13 14struct local_server { 15 int fd; 16 char path[UNIX_PATH_MAX]; 17}; 18 19/* callback return values */ 20#define LOCAL_RET_ERROR -1 21#define LOCAL_RET_OK 0 22#define LOCAL_RET_STOLEN 1 23 24/* local server */ 25int local_server_create(struct local_server *server, struct local_conf *conf); 26void local_server_destroy(struct local_server *server); 27int do_local_server_step(struct local_server *server, void *data, 28 int (*process)(int fd, void *data)); 29 30/* local client */ 31int local_client_create(struct local_conf *conf); 32void local_client_destroy(int fd); 33int do_local_client_step(int fd, void (*process)(char *buf)); 34int do_local_request(int, struct local_conf *,void (*step)(char *buf)); 35void local_step(char *buf); 36 37#endif 38