+ struct {
+ uint32_t nb_uri;
+ unsigned int timer_interval; /* usec */
+ } LTTNG_PACKED session_live;
+ struct {
+ struct lttng_save_session_attr attr; /* struct already packed */
+ } LTTNG_PACKED save_session;
+ struct {
+ char shm_path[PATH_MAX];
+ } LTTNG_PACKED set_shm_path;
+ struct {
+ /* enum lttng_process_attr */
+ int32_t process_attr;
+ /* enum lttng_process_attr_value_type */
+ int32_t value_type;
+
+ struct process_attr_integral_value_comm integral_value;
+ /*
+ * For user/group names, a variable length,
+ * zero-terminated, string of length 'name_len'
+ * (including the terminator) follows.
+ *
+ * integral_value should not be used in those cases.
+ */
+ uint32_t name_len;
+ } LTTNG_PACKED process_attr_tracker_add_remove_include_value;
+ struct {
+ /* enum lttng_process_attr */
+ int32_t process_attr;
+ } LTTNG_PACKED process_attr_tracker_get_inclusion_set;
+ struct {
+ /* enum lttng_process_attr */
+ int32_t process_attr;
+ } LTTNG_PACKED process_attr_tracker_get_tracking_policy;
+ struct {
+ /* enum lttng_process_attr */
+ int32_t process_attr;
+ /* enum lttng_tracking_policy */
+ int32_t tracking_policy;
+ } LTTNG_PACKED process_attr_tracker_set_tracking_policy;
+ struct {
+ uint32_t length;
+ } LTTNG_PACKED trigger;
+ struct {
+ uint64_t rotation_id;
+ } LTTNG_PACKED get_rotation_info;
+ struct {
+ /* enum lttng_rotation_schedule_type */
+ uint8_t type;
+ /*
+ * If set == 1, set schedule to value, if set == 0,
+ * clear this schedule type.
+ */
+ uint8_t set;
+ uint64_t value;
+ } LTTNG_PACKED rotation_set_schedule;
+ struct {
+ /*
+ * Includes the null-terminator.
+ * Must be an absolute path.
+ *
+ * Size bounded by LTTNG_PATH_MAX.
+ */
+ uint16_t home_dir_size;
+ uint64_t session_descriptor_size;
+ /* An lttng_session_descriptor follows. */
+ } LTTNG_PACKED create_session;