Export consumer ABI, implement ring buffer modifications for consumer
[lttng-ust.git] / include / lttng-ust-comm.h
index b594367ddd3b6a65c9f5fb1ccdc7e1a6b09b9f8e..2e5c7173c40668e6ca76c78d156aa911f660c020 100644 (file)
 #include <lttng/lttng.h>
 #include <ust/lttng-ust-abi.h>
 
+/*
+ * Default timeout the application waits for the sessiond to send its
+ * "register done" command. Can be overridden with the environment
+ * variable "UST_REGISTER_TIMEOUT". Note that if the sessiond is not
+ * found, the application proceeds directly without any delay.
+ */
+#define LTTNG_UST_DEFAULT_CONSTRUCTOR_TIMEOUT_MS       3000
+
 #define LTTNG_RUNDIR                        "/var/run/lttng"
 
 /* Default unix socket path */
@@ -38,6 +46,9 @@
 #define DEFAULT_HOME_APPS_UNIX_SOCK         "%s/.apps-ltt-sessiond"
 #define DEFAULT_HOME_CLIENT_UNIX_SOCK       "%s/.client-ltt-sessiond"
 
+#define DEFAULT_GLOBAL_APPS_WAIT_SHM_PATH   "/lttng-ust-apps-wait"
+#define DEFAULT_HOME_APPS_WAIT_SHM_PATH     "/lttng-ust-apps-wait-%u"
+
 /* Queue size of listen(2) */
 #define MAX_LISTEN 10
 
  */
 #define LTTCOMM_ERR_INDEX(code) (code - LTTCOMM_OK)
 
-enum lttcomm_ust_command {
-       UST_CREATE_SESSION,
-       UST_VERSION,
-       UST_LIST_TRACEPOINTS,
-       UST_WAIT_QUIESCENT,
-       UST_CALIBRATE,
-
-       /* Apply on session handle */
-       UST_METADATA,   /* release with UST_RELEASE_CHANNEL */
-       UST_CHANNEL,
-       UST_SESSION_START,
-       UST_SESSION_STOP,
-
-       /* Apply on channel handle */
-       UST_STREAM,
-       UST_EVENT,
-
-       /* Apply on event and channel handle */
-       UST_CONTEXT,
-
-       /* Apply on event, channel and session handle */
-       UST_RELEASE,
-       UST_ENABLE,
-       UST_DISABLE,
-};
-
 /*
  * lttcomm error code.
  */
@@ -136,11 +121,12 @@ enum lttcomm_return_code {
  * Data structure for the commands sent from sessiond to UST.
  */
 struct lttcomm_ust_msg {
-       uint32_t cmd_type;    /* enum lttcomm_ust_command */
        uint32_t handle;
+       uint32_t cmd;
        union {
                struct lttng_ust_tracer_version version;
                struct lttng_ust_channel channel;
+               struct lttng_ust_stream stream;
                struct lttng_ust_event event;
                struct lttng_ust_context context;
        } u;
@@ -151,10 +137,17 @@ struct lttcomm_ust_msg {
  * cmd_type is sent back in the reply for validation.
  */
 struct lttcomm_ust_reply {
-       uint32_t cmd_type;      /* enum lttcomm_sessiond_command */
+       uint32_t handle;
+       uint32_t cmd;
        uint32_t ret_code;      /* enum enum lttcomm_return_code */
        uint32_t ret_val;       /* return value */
        union {
+               struct {
+                       uint64_t memory_map_size;
+               } channel;
+               struct {
+                       uint64_t memory_map_size;
+               } stream;
        } u;
 };
 
This page took 0.025648 seconds and 4 git commands to generate.