+ /*
+ * Represents values defined in enum lttng_trace_archive_location_type.
+ */
+ int8_t location_type;
+ union {
+ struct {
+ char absolute_path[LTTNG_PATH_MAX];
+ } LTTNG_PACKED local;
+ struct {
+ char host[LTTNG_HOST_NAME_MAX];
+ /*
+ * Represents values defined in
+ * enum lttng_trace_archive_location_relay_protocol_type.
+ */
+ int8_t protocol;
+ struct {
+ uint16_t control;
+ uint16_t data;
+ } LTTNG_PACKED ports;
+ char relative_path[LTTNG_PATH_MAX];
+ } LTTNG_PACKED relay;
+ } location;