Update version to 0.16
[ust.git] / libustcomm / ustcomm.h
index 689c151a5b300920cbf97b4d4177622afe30058e..4706b72fbb930eaf4d22e5d1ac11702fe627171a 100644 (file)
@@ -25,6 +25,9 @@
 #include <ust/kcompat/kcompat.h>
 
 #define SOCK_DIR "/tmp/ust-app-socks"
+#define USER_TMP_DIR "/tmp"
+#define USER_SOCK_DIR_BASE "ust-socks-"
+#define USER_SOCK_DIR USER_TMP_DIR "/" USER_SOCK_DIR_BASE
 
 struct ustcomm_sock {
        struct cds_list_head list;
@@ -78,8 +81,8 @@ enum tracectl_commands {
        STOP_TRACE,
 };
 
-struct ustcomm_trace_info {
-       char *trace;
+struct ustcomm_single_field {
+       char *field;
        char data[USTCOMM_DATA_SIZE];
 };
 
@@ -102,15 +105,10 @@ struct ustcomm_buffer_info {
        char data[USTCOMM_DATA_SIZE];
 };
 
-struct ustcomm_marker_info {
+struct ustcomm_ust_marker_info {
        char *trace;
        char *channel;
-       char *marker;
-       char data[USTCOMM_DATA_SIZE];
-};
-
-struct ustcomm_sock_path {
-       char *sock_path;
+       char *ust_marker;
        char data[USTCOMM_DATA_SIZE];
 };
 
@@ -123,7 +121,7 @@ struct ustcomm_notify_buf_mapped {
 };
 
 /* Ensure directory existence, usefull for unix sockets */
-extern int ensure_dir_exists(const char *dir);
+extern int ensure_dir_exists(const char *dir, mode_t mode);
 
 /* Create and delete sockets */
 extern struct ustcomm_sock * ustcomm_init_sock(int fd, int epoll_fd,
@@ -161,6 +159,16 @@ extern int ustcomm_req(int sock,
                       char *res_data);
 
 extern int ustcomm_request_consumer(pid_t pid, const char *channel);
+
+/* Returns the current users socket directory, must be freed */
+extern char *ustcomm_user_sock_dir(void);
+
+/* Get the st_m_time from proc*/
+extern time_t ustcomm_pid_st_mtime(pid_t pid);
+
+/* Check that a socket is live */
+extern int ustcomm_is_socket_live(char *sock_name, pid_t *read_pid);
+
 extern int ustcomm_connect_app(pid_t pid, int *app_fd);
 extern int ustcomm_connect_path(const char *path, int *connection_fd);
 
@@ -180,11 +188,11 @@ 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_trace_info(struct ustcomm_header *header,
-                                  struct ustcomm_trace_info *trace_inf,
+extern int ustcomm_pack_single_field(struct ustcomm_header *header,
+                                  struct ustcomm_single_field *sf,
                                   const char *trace);
 
-extern int ustcomm_unpack_trace_info(struct ustcomm_trace_info *trace_inf);
+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,
@@ -201,19 +209,12 @@ extern int ustcomm_pack_buffer_info(struct ustcomm_header *header,
 
 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,
+extern int ustcomm_pack_ust_marker_info(struct ustcomm_header *header,
+                                   struct ustcomm_ust_marker_info *ust_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);
+                                   const char *ust_marker);
 
-extern int ustcomm_unpack_sock_path(struct ustcomm_sock_path *sock_path_inf);
+extern int ustcomm_unpack_ust_marker_info(struct ustcomm_ust_marker_info *ust_marker_inf);
 
 #endif /* USTCOMM_H */
This page took 0.023651 seconds and 4 git commands to generate.