X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=libustcomm%2Fustcomm.h;h=052c896aca17ad6561e4d84910e617d04ca8ae07;hb=52c51a47e4b002d741c89de8dc786da59e894a1a;hp=adbd0ae3e730f55903496ba1a2701acbfff62dab;hpb=f9e5ce615d925102c8cf44f4fe61ab6aacd92c45;p=ust.git diff --git a/libustcomm/ustcomm.h b/libustcomm/ustcomm.h index adbd0ae..052c896 100644 --- a/libustcomm/ustcomm.h +++ b/libustcomm/ustcomm.h @@ -2,7 +2,54 @@ #define USTCOMM_H #include +#include -int send_message(pid_t pid, const char *msg, const char *reply); +#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 { + struct ustcomm_server server; +}; + +struct ustcomm_app { + struct ustcomm_server server; +}; + +/* ustcomm_source must be shallow-copyable */ +struct ustcomm_source { + int fd; + void *priv; +}; + +char *strdup_malloc(const char *s); + +//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 */