X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=libustcomm%2Fustcomm.h;h=0ec04fc6e5edfd83458e021ecf835c0b5f429eaa;hb=8d6300d3b3cb0219e1109e931a2219dbd812b24d;hp=f62250c88587ec2164f062f9ae8c7b78dd105be1;hpb=72098143aa5d995802b411e152b89ad252dd37ca;p=ust.git diff --git a/libustcomm/ustcomm.h b/libustcomm/ustcomm.h index f62250c..0ec04fc 100644 --- a/libustcomm/ustcomm.h +++ b/libustcomm/ustcomm.h @@ -27,7 +27,7 @@ #define SOCK_DIR "/tmp/ust-app-socks" struct ustcomm_sock { - struct list_head list; + struct cds_list_head list; int fd; int epoll_fd; }; @@ -78,7 +78,13 @@ enum tracectl_commands { STOP_TRACE, }; +struct ustcomm_single_field { + char *field; + char data[USTCOMM_DATA_SIZE]; +}; + struct ustcomm_channel_info { + char *trace; char *channel; unsigned int subbuf_size; unsigned int subbuf_num; @@ -86,6 +92,7 @@ struct ustcomm_channel_info { }; struct ustcomm_buffer_info { + char *trace; char *channel; int ch_cpu; pid_t pid; @@ -96,16 +103,12 @@ struct ustcomm_buffer_info { }; struct ustcomm_marker_info { + char *trace; char *channel; char *marker; char data[USTCOMM_DATA_SIZE]; }; -struct ustcomm_sock_path { - char *sock_path; - char data[USTCOMM_DATA_SIZE]; -}; - struct ustcomm_pidunique { s64 pidunique; }; @@ -119,7 +122,7 @@ extern int ensure_dir_exists(const char *dir); /* Create and delete sockets */ extern struct ustcomm_sock * ustcomm_init_sock(int fd, int epoll_fd, - struct list_head *list); + struct cds_list_head *list); extern void ustcomm_del_sock(struct ustcomm_sock *sock, int keep_in_epoll); /* Create and delete named sockets */ @@ -172,14 +175,22 @@ extern char * ustcomm_restore_ptr(char *ptr, char *data_field, (size_t) (long)(struct_ptr)->data - (long)(struct_ptr) + (offset) /* Packing and unpacking functions, making life easier */ +extern int ustcomm_pack_single_field(struct ustcomm_header *header, + struct ustcomm_single_field *sf, + const char *trace); + +extern int ustcomm_unpack_single_field(struct ustcomm_single_field *sf); + extern int ustcomm_pack_channel_info(struct ustcomm_header *header, struct ustcomm_channel_info *ch_inf, + const char *trace, const char *channel); extern int ustcomm_unpack_channel_info(struct ustcomm_channel_info *ch_inf); extern int ustcomm_pack_buffer_info(struct ustcomm_header *header, struct ustcomm_buffer_info *buf_inf, + const char *trace, const char *channel, int channel_cpu); @@ -187,26 +198,10 @@ extern int ustcomm_unpack_buffer_info(struct ustcomm_buffer_info *buf_inf); extern int ustcomm_pack_marker_info(struct ustcomm_header *header, struct ustcomm_marker_info *marker_inf, + const char *trace, const char *channel, const char *marker); extern int ustcomm_unpack_marker_info(struct ustcomm_marker_info *marker_inf); - -extern int ustcomm_pack_sock_path(struct ustcomm_header *header, - struct ustcomm_sock_path *sock_path_inf, - const char *socket_path); - -extern int ustcomm_unpack_sock_path(struct ustcomm_sock_path *sock_path_inf); - -/* Packing and requesting functions */ -extern int ustcomm_send_ch_req(int sock, char *channel, int command, - struct ustcomm_header *recv_header, - char *recv_data); - -extern int ustcomm_send_buf_req(int sock, char *channel, int ch_cpu, - int command, - struct ustcomm_header *recv_header, - char *recv_data); - #endif /* USTCOMM_H */