X-Git-Url: https://git.lttng.org/?p=lttngtop.git;a=blobdiff_plain;f=src%2Flttng-viewer.h;h=1977a43b460852627bec6b8a6c1444e2da29ad83;hp=56fa5632db86b6411dc4f2beb88ae9d55058b1f2;hb=38e240608abcec56b7bee5a076e3992c835de834;hpb=d2f1452b66e796412c4b0c1c73608b156659a650 diff --git a/src/lttng-viewer.h b/src/lttng-viewer.h index 56fa563..1977a43 100644 --- a/src/lttng-viewer.h +++ b/src/lttng-viewer.h @@ -1,3 +1,6 @@ +#ifndef LTTNG_VIEWER_H +#define LTTNG_VIEWER_H + /* * Copyright (C) 2013 - Julien Desfossez * Mathieu Desnoyers @@ -22,9 +25,6 @@ * SOFTWARE. */ -#ifndef LTTNG_VIEWER_H -#define LTTNG_VIEWER_H - #include #define LTTNG_VIEWER_PATH_MAX 4096 @@ -34,7 +34,7 @@ /* Flags in reply to get_next_index and get_packet. */ /* New metadata is required to read this packet. */ #define LTTNG_VIEWER_FLAG_NEW_METADATA (1 << 0) -/* New stream got added to the trace */ +/* New stream got added to the trace. */ #define LTTNG_VIEWER_FLAG_NEW_STREAM (1 << 1) enum lttng_viewer_command { @@ -60,12 +60,14 @@ enum lttng_viewer_next_index_return_code { VIEWER_INDEX_HUP = 3, /* Index closed (trace destroyed). */ VIEWER_INDEX_ERR = 4, /* Unknow error. */ VIEWER_INDEX_INACTIVE = 5, /* Inactive stream beacon. */ + VIEWER_INDEX_EOF = 6, /* End of index file. */ }; enum lttng_viewer_get_packet_return_code { VIEWER_GET_PACKET_OK = 1, VIEWER_GET_PACKET_RETRY = 2, VIEWER_GET_PACKET_ERR = 3, + VIEWER_GET_PACKET_EOF = 4, }; enum lttng_viewer_get_metadata_return_code { @@ -80,24 +82,27 @@ enum lttng_viewer_connection_type { }; enum lttng_viewer_seek { - VIEWER_SEEK_BEGINNING = 1, /* Receive the trace packets from the beginning. */ - VIEWER_SEEK_LAST = 2, /* Receive the trace packets from now. */ + /* Receive the trace packets from the beginning. */ + VIEWER_SEEK_BEGINNING = 1, + /* Receive the trace packets from now. */ + VIEWER_SEEK_LAST = 2, }; struct lttng_viewer_session { uint64_t id; - char hostname[LTTNG_VIEWER_HOST_NAME_MAX]; - char session_name[LTTNG_VIEWER_NAME_MAX]; uint32_t live_timer; uint32_t clients; + uint32_t streams; + char hostname[LTTNG_VIEWER_HOST_NAME_MAX]; + char session_name[LTTNG_VIEWER_NAME_MAX]; } __attribute__((__packed__)); struct lttng_viewer_stream { uint64_t id; uint64_t ctf_trace_id; + int metadata_flag; char path_name[LTTNG_VIEWER_PATH_MAX]; char channel_name[LTTNG_VIEWER_NAME_MAX]; - int metadata_flag; } __attribute__((__packed__)); struct lttng_viewer_cmd { @@ -110,10 +115,11 @@ struct lttng_viewer_cmd { * CONNECT payload. */ struct lttng_viewer_connect { + /* session ID assigned by the relay for command connections */ + uint64_t viewer_session_id; uint32_t major; uint32_t minor; uint32_t type; /* enum lttng_viewer_connection_type */ - uint64_t viewer_session_id; /* session ID assigned by the relay for command connections */ } __attribute__((__packed__)); /* @@ -129,14 +135,16 @@ struct lttng_viewer_list_sessions { */ struct lttng_viewer_attach_session_request { uint64_t session_id; - uint32_t seek; /* enum lttng_viewer_seek */ uint64_t offset; /* unused for now */ + uint32_t seek; /* enum lttng_viewer_seek */ } __attribute__((__packed__)); struct lttng_viewer_attach_session_response { - uint32_t status; /* enum lttng_viewer_attach_return_code */ + /* enum lttng_viewer_attach_return_code */ + uint32_t status; uint32_t streams_count; - char stream_list[]; /* struct lttng_viewer_stream */ + /* struct lttng_viewer_stream */ + char stream_list[]; } __attribute__((__packed__)); /* @@ -147,7 +155,6 @@ struct lttng_viewer_get_next_index { } __attribute__ ((__packed__)); struct lttng_viewer_index { - uint32_t status; /* enum lttng_viewer_next_index_return_code */ uint64_t offset; uint64_t packet_size; uint64_t content_size; @@ -155,6 +162,8 @@ struct lttng_viewer_index { uint64_t timestamp_end; uint64_t events_discarded; uint64_t stream_id; + /* enum lttng_viewer_next_index_return_code */ + uint32_t status; uint32_t flags; /* LTTNG_VIEWER_FLAG_* */ } __attribute__ ((__packed__)); @@ -168,7 +177,8 @@ struct lttng_viewer_get_packet { } __attribute__((__packed__)); struct lttng_viewer_trace_packet { - uint32_t status; /* enum lttng_viewer_get_packet_return_code */ + /* enum lttng_viewer_get_packet_return_code */ + uint32_t status; uint32_t len; uint32_t flags; /* LTTNG_VIEWER_FLAG_* */ char data[]; @@ -182,8 +192,9 @@ struct lttng_viewer_get_metadata { } __attribute__((__packed__)); struct lttng_viewer_metadata_packet { - uint32_t status; /* enum lttng_viewer_get_metadata_return_code */ uint64_t len; + /* enum lttng_viewer_get_metadata_return_code */ + uint32_t status; char data[]; } __attribute__((__packed__));