X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=libustcomm%2Fustcomm.h;h=052c896aca17ad6561e4d84910e617d04ca8ae07;hb=769d015768372ce7f68ff12bbc55aa339c3a6bcd;hp=08d74803857feecee46be5b3befac1f799201463;hpb=3847c3bab100bfb6b01b5654c2429a5d0d162ff5;p=ust.git diff --git a/libustcomm/ustcomm.h b/libustcomm/ustcomm.h index 08d7480..052c896 100644 --- a/libustcomm/ustcomm.h +++ b/libustcomm/ustcomm.h @@ -2,26 +2,54 @@ #define USTCOMM_H #include +#include -struct ustcomm_app { - /* the "server" socket for serving the external requests */ +#include "kcompat.h" + +struct ustcomm_connection { + struct list_head list; int fd; +}; + +/* ustcomm_server must be shallow-copyable */ +struct ustcomm_server { + /* the "server" socket for serving the external requests */ + int listen_fd; char *socketpath; + + struct list_head connections; }; struct ustcomm_ustd { - /* the "server" socket for serving the external requests */ + struct ustcomm_server server; +}; + +struct ustcomm_app { + struct ustcomm_server server; +}; + +/* ustcomm_source must be shallow-copyable */ +struct ustcomm_source { int fd; - char *socketpath; + void *priv; }; -int send_message(pid_t pid, const char *msg, char **reply); +char *strdup_malloc(const char *s); -int ustcomm_ustd_recv_message(struct ustcomm_ustd *ustd, char **msg); -int ustcomm_app_recv_message(struct ustcomm_app *app, char **msg); +//int send_message_pid(pid_t pid, const char *msg, char **reply); + +int ustcomm_ustd_recv_message(struct ustcomm_ustd *ustd, char **msg, struct ustcomm_source *src, int timeout); +int ustcomm_app_recv_message(struct ustcomm_app *app, char **msg, struct ustcomm_source *src, int timeout); int ustcomm_init_app(pid_t pid, struct ustcomm_app *handle); int ustcomm_init_ustd(struct ustcomm_ustd *handle); +int ustcomm_connect_app(pid_t pid, struct ustcomm_connection *conn); +int ustcomm_send_request(struct ustcomm_connection *conn, char *req, char **reply); + +int nth_token_is(char *str, char *token, int tok_no); + +char *nth_token(char *str, int tok_no); + #endif /* USTCOMM_H */