#include <arpa/inet.h>
#include <netinet/in.h>
+#include <stdint.h>
#include <sys/un.h>
#include "inet.h"
struct sockaddr_in sin;
struct sockaddr_in6 sin6;
} addr;
-} LTTNG_PACKED;
+};
struct lttcomm_sock {
int32_t fd;
enum lttcomm_sock_proto proto;
struct lttcomm_sockaddr sockaddr;
const struct lttcomm_proto_ops *ops;
-} LTTNG_PACKED;
+};
/*
* Relayd sock. Adds the protocol version to use for the communications with
struct lttcomm_sock sock;
uint32_t major;
uint32_t minor;
-} LTTNG_PACKED;
+};
struct lttcomm_net_family {
int family;
} LTTNG_PACKED disable;
/* Create channel */
struct {
- struct lttng_channel chan;
- struct lttng_channel_extended extended;
+ uint32_t length;
} LTTNG_PACKED channel;
/* Context */
struct {
uint32_t nb_events;
} LTTNG_PACKED;
+/*
+ * Listing command header.
+ */
+struct lttcomm_list_command_header {
+ /* Number of elements */
+ uint32_t count;
+} LTTNG_PACKED;
+
/*
* Event extended info header. This is the structure preceding each
* extended info data.
struct {
uint64_t net_index;
enum lttng_stream_type type;
- /* Open socket to the relayd */
- struct lttcomm_relayd_sock sock;
+ uint32_t major;
+ uint32_t minor;
+ uint8_t relayd_socket_protocol;
/* Tracing session id associated to the relayd. */
uint64_t session_id;
/* Relayd session id, only used with control socket. */
const char *ip, unsigned int port);
struct lttcomm_sock *lttcomm_alloc_sock(enum lttcomm_sock_proto proto);
+int lttcomm_populate_sock_from_open_socket(struct lttcomm_sock *sock,
+ int fd,
+ enum lttcomm_sock_proto protocol);
int lttcomm_create_sock(struct lttcomm_sock *sock);
struct lttcomm_sock *lttcomm_alloc_sock_from_uri(struct lttng_uri *uri);
void lttcomm_destroy_sock(struct lttcomm_sock *sock);