#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 list_head list;
+ struct cds_list_head list;
int fd;
int epoll_fd;
};
STOP_TRACE,
};
-struct ustcomm_trace_info {
- char *trace;
+struct ustcomm_single_field {
+ char *field;
char data[USTCOMM_DATA_SIZE];
};
char data[USTCOMM_DATA_SIZE];
};
-struct ustcomm_sock_path {
- char *sock_path;
- char data[USTCOMM_DATA_SIZE];
-};
-
struct ustcomm_pidunique {
s64 pidunique;
};
};
/* 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,
- 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 */
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);
extern int ustcomm_connect_app(pid_t pid, int *app_fd);
extern int ustcomm_connect_path(const char *path, int *connection_fd);
(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,
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);
-
#endif /* USTCOMM_H */