# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
#
# WARNING: This file is machine generated by fidlgen.

include <fuchsia/cobalt/c/fidl.h>
fuchsia_cobalt_ReleaseStage = fuchsia_cobalt_ReleaseStage_GA, fuchsia_cobalt_ReleaseStage_DOGFOOD, fuchsia_cobalt_ReleaseStage_FISHFOOD, fuchsia_cobalt_ReleaseStage_DEBUG

fuchsia_cobalt_ProjectProfileInLine {
	configInLine	fuchsia_mem_BufferInLine
	release_stage	flags[fuchsia_cobalt_ReleaseStage, int32]
} [packed]

fuchsia_cobalt_ProjectProfileOutOfLine {
	configOutOfLine	fuchsia_mem_BufferOutOfLine
} [packed]

fuchsia_cobalt_ProjectProfileHandles {
	config	fuchsia_mem_BufferHandles
} [packed]

fuchsia_cobalt_CustomEventValueInLine {
	dimension_nameInLine	fidl_string
	valueInLine		fuchsia_cobalt_ValueInLine
} [packed]

fuchsia_cobalt_CustomEventValueOutOfLine {
	dimension_nameOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_CustomEventValueHandles {
	void	void
} [packed]

fuchsia_cobalt_HistogramBucketInLine {
	index	int32
	count	int64
} [packed]

fuchsia_cobalt_HistogramBucketOutOfLine {
	void	void
} [packed]

fuchsia_cobalt_HistogramBucketHandles {
	void	void
} [packed]

fuchsia_cobalt_CountEventInLine {
	period_duration_micros	int64
	count			int64
} [packed]

fuchsia_cobalt_EventInLine {
	padding	int8
} [packed]

fuchsia_cobalt_CobaltEventInLine {
	metric_id		int32
	event_codesInLine	fidl_vector
	componentInLine		fidl_string
	payloadInLine		fuchsia_cobalt_EventPayloadInLine
} [packed]

fuchsia_cobalt_CobaltEventOutOfLine {
	event_codesOutOfLine	array[int32]
	componentOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_CobaltEventHandles {
	void	void
} [packed]

fuchsia_cobalt_ExperimentInLine {
	experiment_id	int64
	arm_id		int32
} [packed]

fuchsia_cobalt_ExperimentOutOfLine {
	void	void
} [packed]

fuchsia_cobalt_ExperimentHandles {
	void	void
} [packed]

fuchsia_cobalt_ValueInLine [
	string_valueInLine	fidl_union_member[fuchsia_cobalt_ValueTag_string_value, fidl_string]
	int_value		fidl_union_member[fuchsia_cobalt_ValueTag_int_value, int64]
	double_value		fidl_union_member[fuchsia_cobalt_ValueTag_double_value, int64]
	index_value		fidl_union_member[fuchsia_cobalt_ValueTag_index_value, int32]
]

fuchsia_cobalt_EventPayloadInLine [
	eventInLine		fidl_union_member[fuchsia_cobalt_EventPayloadTag_event, fuchsia_cobalt_EventInLine]
	event_countInLine	fidl_union_member[fuchsia_cobalt_EventPayloadTag_event_count, fuchsia_cobalt_CountEventInLine]
	elapsed_micros		fidl_union_member[fuchsia_cobalt_EventPayloadTag_elapsed_micros, int64]
	fps			fidl_union_member[fuchsia_cobalt_EventPayloadTag_fps, int32]
	memory_bytes_used	fidl_union_member[fuchsia_cobalt_EventPayloadTag_memory_bytes_used, int64]
	string_eventInLine	fidl_union_member[fuchsia_cobalt_EventPayloadTag_string_event, fidl_string]
	int_histogramInLine	fidl_union_member[fuchsia_cobalt_EventPayloadTag_int_histogram, fidl_vector]
]

fuchsia_cobalt_LoggerFactoryCreateLoggerRequest {
	hdr			fidl_message_header[1594393985]
	profileInLine		fuchsia_cobalt_ProjectProfileInLine
	logger			flags[fidl_handle_presence, int32]
	profileOutOfLine	fuchsia_cobalt_ProjectProfileOutOfLine
} [packed]

fuchsia_cobalt_LoggerFactoryCreateLoggerRequestHandles {
	profile	fuchsia_cobalt_ProjectProfileHandles
	logger	zx_chan_fuchsia_cobalt_Logger_server
} [packed]

fuchsia_cobalt_LoggerFactoryCreateLoggerResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleRequest {
	hdr			fidl_message_header[1594344351]
	profileInLine		fuchsia_cobalt_ProjectProfileInLine
	logger			flags[fidl_handle_presence, int32]
	profileOutOfLine	fuchsia_cobalt_ProjectProfileOutOfLine
} [packed]

fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleRequestHandles {
	profile	fuchsia_cobalt_ProjectProfileHandles
	logger	zx_chan_fuchsia_cobalt_LoggerSimple_server
} [packed]

fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerFactoryCreateLoggerFromProjectNameRequest {
	hdr			fidl_message_header[537166031]
	project_nameInLine	fidl_string
	release_stage		flags[fuchsia_cobalt_ReleaseStage, int32]
	logger			flags[fidl_handle_presence, int32]
	project_nameOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerFactoryCreateLoggerFromProjectNameRequestHandles {
	logger	zx_chan_fuchsia_cobalt_Logger_server
} [packed]

fuchsia_cobalt_LoggerFactoryCreateLoggerFromProjectNameResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleFromProjectNameRequest {
	hdr			fidl_message_header[930272946]
	project_nameInLine	fidl_string
	release_stage		flags[fuchsia_cobalt_ReleaseStage, int32]
	logger			flags[fidl_handle_presence, int32]
	project_nameOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleFromProjectNameRequestHandles {
	logger	zx_chan_fuchsia_cobalt_LoggerSimple_server
} [packed]

fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleFromProjectNameResponseHandles {
	void	void
} [packed]

resource zx_chan_fuchsia_cobalt_LoggerFactory_client[zx_chan]
resource zx_chan_fuchsia_cobalt_LoggerFactory_server[zx_chan]

zx_channel_create$fuchsia_cobalt_LoggerFactory(options const[0], out0 ptr[out, zx_chan_fuchsia_cobalt_LoggerFactory_client], out1 ptr[out, zx_chan_fuchsia_cobalt_LoggerFactory_server])
fdio_service_connect$fuchsia_cobalt_LoggerFactory(path ptr[in, string["/svc/fuchsia.cobalt.LoggerFactory"]], handle zx_chan_fuchsia_cobalt_LoggerFactory_server)
zx_channel_call$fuchsia_cobalt_LoggerFactoryCreateLogger(handle zx_chan_fuchsia_cobalt_LoggerFactory_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerFactoryCreateLoggerRequest, fuchsia_cobalt_LoggerFactoryCreateLoggerRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerFactoryCreateLoggerResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerFactoryCreateLoggerSimple(handle zx_chan_fuchsia_cobalt_LoggerFactory_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleRequest, fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerFactoryCreateLoggerFromProjectName(handle zx_chan_fuchsia_cobalt_LoggerFactory_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerFactoryCreateLoggerFromProjectNameRequest, fuchsia_cobalt_LoggerFactoryCreateLoggerFromProjectNameRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerFactoryCreateLoggerFromProjectNameResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleFromProjectName(handle zx_chan_fuchsia_cobalt_LoggerFactory_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleFromProjectNameRequest, fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleFromProjectNameRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerFactoryCreateLoggerSimpleFromProjectNameResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])

fuchsia_cobalt_LoggerBaseLogEventRequest {
	hdr		fidl_message_header[324887181]
	metric_id	int32
	event_code	int32
} [packed]

fuchsia_cobalt_LoggerBaseLogEventRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseLogEventResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseLogEventCountRequest {
	hdr			fidl_message_header[1875801957]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	period_duration_micros	int64
	count			int64
	componentOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerBaseLogEventCountRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseLogEventCountResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseLogElapsedTimeRequest {
	hdr			fidl_message_header[351572256]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	elapsed_micros		int64
	componentOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerBaseLogElapsedTimeRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseLogElapsedTimeResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseLogFrameRateRequest {
	hdr			fidl_message_header[730276536]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	fps			int32
	componentOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerBaseLogFrameRateRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseLogFrameRateResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseLogMemoryUsageRequest {
	hdr			fidl_message_header[1724292379]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	bytes			int64
	componentOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerBaseLogMemoryUsageRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseLogMemoryUsageResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseLogStringRequest {
	hdr		fidl_message_header[1288241002]
	metric_id	int32
	sInLine		fidl_string
	sOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerBaseLogStringRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseLogStringResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseStartTimerRequest {
	hdr			fidl_message_header[1247568160]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	timer_idInLine		fidl_string
	timestamp		int64
	timeout_s		int32
	componentOutOfLine	fidl_aligned[stringnoz]
	timer_idOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerBaseStartTimerRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseStartTimerResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseEndTimerRequest {
	hdr			fidl_message_header[1708879426]
	timer_idInLine		fidl_string
	timestamp		int64
	timeout_s		int32
	timer_idOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerBaseEndTimerRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerBaseEndTimerResponseHandles {
	void	void
} [packed]

resource zx_chan_fuchsia_cobalt_LoggerBase_client[zx_chan]
resource zx_chan_fuchsia_cobalt_LoggerBase_server[zx_chan]

zx_channel_create$fuchsia_cobalt_LoggerBase(options const[0], out0 ptr[out, zx_chan_fuchsia_cobalt_LoggerBase_client], out1 ptr[out, zx_chan_fuchsia_cobalt_LoggerBase_server])
fdio_service_connect$fuchsia_cobalt_LoggerBase(path ptr[in, string["/svc/"]], handle zx_chan_fuchsia_cobalt_LoggerBase_server)
zx_channel_call$fuchsia_cobalt_LoggerBaseLogEvent(handle zx_chan_fuchsia_cobalt_LoggerBase_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerBaseLogEventRequest, fuchsia_cobalt_LoggerBaseLogEventRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerBaseLogEventResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerBaseLogEventCount(handle zx_chan_fuchsia_cobalt_LoggerBase_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerBaseLogEventCountRequest, fuchsia_cobalt_LoggerBaseLogEventCountRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerBaseLogEventCountResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerBaseLogElapsedTime(handle zx_chan_fuchsia_cobalt_LoggerBase_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerBaseLogElapsedTimeRequest, fuchsia_cobalt_LoggerBaseLogElapsedTimeRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerBaseLogElapsedTimeResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerBaseLogFrameRate(handle zx_chan_fuchsia_cobalt_LoggerBase_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerBaseLogFrameRateRequest, fuchsia_cobalt_LoggerBaseLogFrameRateRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerBaseLogFrameRateResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerBaseLogMemoryUsage(handle zx_chan_fuchsia_cobalt_LoggerBase_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerBaseLogMemoryUsageRequest, fuchsia_cobalt_LoggerBaseLogMemoryUsageRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerBaseLogMemoryUsageResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerBaseLogString(handle zx_chan_fuchsia_cobalt_LoggerBase_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerBaseLogStringRequest, fuchsia_cobalt_LoggerBaseLogStringRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerBaseLogStringResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerBaseStartTimer(handle zx_chan_fuchsia_cobalt_LoggerBase_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerBaseStartTimerRequest, fuchsia_cobalt_LoggerBaseStartTimerRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerBaseStartTimerResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerBaseEndTimer(handle zx_chan_fuchsia_cobalt_LoggerBase_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerBaseEndTimerRequest, fuchsia_cobalt_LoggerBaseEndTimerRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerBaseEndTimerResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])

fuchsia_cobalt_LoggerLogEventRequest {
	hdr		fidl_message_header[324887181]
	metric_id	int32
	event_code	int32
} [packed]

fuchsia_cobalt_LoggerLogEventRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogEventResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogEventCountRequest {
	hdr			fidl_message_header[1875801957]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	period_duration_micros	int64
	count			int64
	componentOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerLogEventCountRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogEventCountResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogElapsedTimeRequest {
	hdr			fidl_message_header[351572256]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	elapsed_micros		int64
	componentOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerLogElapsedTimeRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogElapsedTimeResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogFrameRateRequest {
	hdr			fidl_message_header[730276536]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	fps			int32
	componentOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerLogFrameRateRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogFrameRateResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogMemoryUsageRequest {
	hdr			fidl_message_header[1724292379]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	bytes			int64
	componentOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerLogMemoryUsageRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogMemoryUsageResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogStringRequest {
	hdr		fidl_message_header[1288241002]
	metric_id	int32
	sInLine		fidl_string
	sOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerLogStringRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogStringResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerStartTimerRequest {
	hdr			fidl_message_header[1247568160]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	timer_idInLine		fidl_string
	timestamp		int64
	timeout_s		int32
	componentOutOfLine	fidl_aligned[stringnoz]
	timer_idOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerStartTimerRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerStartTimerResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerEndTimerRequest {
	hdr			fidl_message_header[1708879426]
	timer_idInLine		fidl_string
	timestamp		int64
	timeout_s		int32
	timer_idOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerEndTimerRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerEndTimerResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogIntHistogramRequest {
	hdr			fidl_message_header[2063400240]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	histogramInLine		fidl_vector
	componentOutOfLine	fidl_aligned[stringnoz]
	histogramOutOfLine	parallel_array[fuchsia_cobalt_HistogramBucketInLine, fuchsia_cobalt_HistogramBucketOutOfLine]
} [packed]

fuchsia_cobalt_LoggerLogIntHistogramRequestHandles {
	histogram	array[fuchsia_cobalt_HistogramBucketHandles]
} [packed]

fuchsia_cobalt_LoggerLogIntHistogramResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogCustomEventRequest {
	hdr			fidl_message_header[1023246268]
	metric_id		int32
	event_valuesInLine	fidl_vector
	event_valuesOutOfLine	parallel_array[fuchsia_cobalt_CustomEventValueInLine, fuchsia_cobalt_CustomEventValueOutOfLine]
} [packed]

fuchsia_cobalt_LoggerLogCustomEventRequestHandles {
	event_values	array[fuchsia_cobalt_CustomEventValueHandles]
} [packed]

fuchsia_cobalt_LoggerLogCustomEventResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogCobaltEventRequest {
	hdr		fidl_message_header[1719478404]
	eventInLine	fuchsia_cobalt_CobaltEventInLine
	eventOutOfLine	fuchsia_cobalt_CobaltEventOutOfLine
} [packed]

fuchsia_cobalt_LoggerLogCobaltEventRequestHandles {
	event	fuchsia_cobalt_CobaltEventHandles
} [packed]

fuchsia_cobalt_LoggerLogCobaltEventResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerLogCobaltEventsRequest {
	hdr		fidl_message_header[688248468]
	eventsInLine	fidl_vector
	eventsOutOfLine	parallel_array[fuchsia_cobalt_CobaltEventInLine, fuchsia_cobalt_CobaltEventOutOfLine]
} [packed]

fuchsia_cobalt_LoggerLogCobaltEventsRequestHandles {
	events	array[fuchsia_cobalt_CobaltEventHandles]
} [packed]

fuchsia_cobalt_LoggerLogCobaltEventsResponseHandles {
	void	void
} [packed]

resource zx_chan_fuchsia_cobalt_Logger_client[zx_chan]
resource zx_chan_fuchsia_cobalt_Logger_server[zx_chan]

zx_channel_create$fuchsia_cobalt_Logger(options const[0], out0 ptr[out, zx_chan_fuchsia_cobalt_Logger_client], out1 ptr[out, zx_chan_fuchsia_cobalt_Logger_server])
fdio_service_connect$fuchsia_cobalt_Logger(path ptr[in, string["/svc/"]], handle zx_chan_fuchsia_cobalt_Logger_server)
zx_channel_call$fuchsia_cobalt_LoggerLogEvent(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogEventRequest, fuchsia_cobalt_LoggerLogEventRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogEventResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogEventCount(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogEventCountRequest, fuchsia_cobalt_LoggerLogEventCountRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogEventCountResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogElapsedTime(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogElapsedTimeRequest, fuchsia_cobalt_LoggerLogElapsedTimeRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogElapsedTimeResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogFrameRate(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogFrameRateRequest, fuchsia_cobalt_LoggerLogFrameRateRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogFrameRateResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogMemoryUsage(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogMemoryUsageRequest, fuchsia_cobalt_LoggerLogMemoryUsageRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogMemoryUsageResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogString(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogStringRequest, fuchsia_cobalt_LoggerLogStringRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogStringResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerStartTimer(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerStartTimerRequest, fuchsia_cobalt_LoggerStartTimerRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerStartTimerResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerEndTimer(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerEndTimerRequest, fuchsia_cobalt_LoggerEndTimerRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerEndTimerResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogIntHistogram(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogIntHistogramRequest, fuchsia_cobalt_LoggerLogIntHistogramRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogIntHistogramResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogCustomEvent(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogCustomEventRequest, fuchsia_cobalt_LoggerLogCustomEventRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogCustomEventResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogCobaltEvent(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogCobaltEventRequest, fuchsia_cobalt_LoggerLogCobaltEventRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogCobaltEventResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerLogCobaltEvents(handle zx_chan_fuchsia_cobalt_Logger_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerLogCobaltEventsRequest, fuchsia_cobalt_LoggerLogCobaltEventsRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerLogCobaltEventsResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])

fuchsia_cobalt_LoggerSimpleLogEventRequest {
	hdr		fidl_message_header[324887181]
	metric_id	int32
	event_code	int32
} [packed]

fuchsia_cobalt_LoggerSimpleLogEventRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleLogEventResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleLogEventCountRequest {
	hdr			fidl_message_header[1875801957]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	period_duration_micros	int64
	count			int64
	componentOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerSimpleLogEventCountRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleLogEventCountResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleLogElapsedTimeRequest {
	hdr			fidl_message_header[351572256]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	elapsed_micros		int64
	componentOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerSimpleLogElapsedTimeRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleLogElapsedTimeResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleLogFrameRateRequest {
	hdr			fidl_message_header[730276536]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	fps			int32
	componentOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerSimpleLogFrameRateRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleLogFrameRateResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleLogMemoryUsageRequest {
	hdr			fidl_message_header[1724292379]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	bytes			int64
	componentOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerSimpleLogMemoryUsageRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleLogMemoryUsageResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleLogStringRequest {
	hdr		fidl_message_header[1288241002]
	metric_id	int32
	sInLine		fidl_string
	sOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerSimpleLogStringRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleLogStringResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleStartTimerRequest {
	hdr			fidl_message_header[1247568160]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	timer_idInLine		fidl_string
	timestamp		int64
	timeout_s		int32
	componentOutOfLine	fidl_aligned[stringnoz]
	timer_idOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerSimpleStartTimerRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleStartTimerResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleEndTimerRequest {
	hdr			fidl_message_header[1708879426]
	timer_idInLine		fidl_string
	timestamp		int64
	timeout_s		int32
	timer_idOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_LoggerSimpleEndTimerRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleEndTimerResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleLogIntHistogramRequest {
	hdr			fidl_message_header[759190088]
	metric_id		int32
	event_code		int32
	componentInLine		fidl_string
	bucket_indicesInLine	fidl_vector
	bucket_countsInLine	fidl_vector
	componentOutOfLine	fidl_aligned[stringnoz]
	bucket_indicesOutOfLine	array[int32]
	bucket_countsOutOfLine	array[int64]
} [packed]

fuchsia_cobalt_LoggerSimpleLogIntHistogramRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_LoggerSimpleLogIntHistogramResponseHandles {
	void	void
} [packed]

resource zx_chan_fuchsia_cobalt_LoggerSimple_client[zx_chan]
resource zx_chan_fuchsia_cobalt_LoggerSimple_server[zx_chan]

zx_channel_create$fuchsia_cobalt_LoggerSimple(options const[0], out0 ptr[out, zx_chan_fuchsia_cobalt_LoggerSimple_client], out1 ptr[out, zx_chan_fuchsia_cobalt_LoggerSimple_server])
fdio_service_connect$fuchsia_cobalt_LoggerSimple(path ptr[in, string["/svc/"]], handle zx_chan_fuchsia_cobalt_LoggerSimple_server)
zx_channel_call$fuchsia_cobalt_LoggerSimpleLogEvent(handle zx_chan_fuchsia_cobalt_LoggerSimple_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerSimpleLogEventRequest, fuchsia_cobalt_LoggerSimpleLogEventRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerSimpleLogEventResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerSimpleLogEventCount(handle zx_chan_fuchsia_cobalt_LoggerSimple_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerSimpleLogEventCountRequest, fuchsia_cobalt_LoggerSimpleLogEventCountRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerSimpleLogEventCountResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerSimpleLogElapsedTime(handle zx_chan_fuchsia_cobalt_LoggerSimple_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerSimpleLogElapsedTimeRequest, fuchsia_cobalt_LoggerSimpleLogElapsedTimeRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerSimpleLogElapsedTimeResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerSimpleLogFrameRate(handle zx_chan_fuchsia_cobalt_LoggerSimple_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerSimpleLogFrameRateRequest, fuchsia_cobalt_LoggerSimpleLogFrameRateRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerSimpleLogFrameRateResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerSimpleLogMemoryUsage(handle zx_chan_fuchsia_cobalt_LoggerSimple_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerSimpleLogMemoryUsageRequest, fuchsia_cobalt_LoggerSimpleLogMemoryUsageRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerSimpleLogMemoryUsageResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerSimpleLogString(handle zx_chan_fuchsia_cobalt_LoggerSimple_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerSimpleLogStringRequest, fuchsia_cobalt_LoggerSimpleLogStringRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerSimpleLogStringResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerSimpleStartTimer(handle zx_chan_fuchsia_cobalt_LoggerSimple_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerSimpleStartTimerRequest, fuchsia_cobalt_LoggerSimpleStartTimerRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerSimpleStartTimerResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerSimpleEndTimer(handle zx_chan_fuchsia_cobalt_LoggerSimple_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerSimpleEndTimerRequest, fuchsia_cobalt_LoggerSimpleEndTimerRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerSimpleEndTimerResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_LoggerSimpleLogIntHistogram(handle zx_chan_fuchsia_cobalt_LoggerSimple_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_LoggerSimpleLogIntHistogramRequest, fuchsia_cobalt_LoggerSimpleLogIntHistogramRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_LoggerSimpleLogIntHistogramResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])

fuchsia_cobalt_SystemDataUpdaterSetExperimentStateRequest {
	hdr			fidl_message_header[1903807121]
	experimentsInLine	fidl_vector
	experimentsOutOfLine	parallel_array[fuchsia_cobalt_ExperimentInLine, fuchsia_cobalt_ExperimentOutOfLine]
} [packed]

fuchsia_cobalt_SystemDataUpdaterSetExperimentStateRequestHandles {
	experiments	array[fuchsia_cobalt_ExperimentHandles]
} [packed]

fuchsia_cobalt_SystemDataUpdaterSetExperimentStateResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_SystemDataUpdaterSetChannelRequest {
	hdr				fidl_message_header[938569873]
	current_channelInLine		fidl_string
	current_channelOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_cobalt_SystemDataUpdaterSetChannelRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_SystemDataUpdaterSetChannelResponseHandles {
	void	void
} [packed]

resource zx_chan_fuchsia_cobalt_SystemDataUpdater_client[zx_chan]
resource zx_chan_fuchsia_cobalt_SystemDataUpdater_server[zx_chan]

zx_channel_create$fuchsia_cobalt_SystemDataUpdater(options const[0], out0 ptr[out, zx_chan_fuchsia_cobalt_SystemDataUpdater_client], out1 ptr[out, zx_chan_fuchsia_cobalt_SystemDataUpdater_server])
fdio_service_connect$fuchsia_cobalt_SystemDataUpdater(path ptr[in, string["/svc/fuchsia.cobalt.SystemDataUpdater"]], handle zx_chan_fuchsia_cobalt_SystemDataUpdater_server)
zx_channel_call$fuchsia_cobalt_SystemDataUpdaterSetExperimentState(handle zx_chan_fuchsia_cobalt_SystemDataUpdater_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_SystemDataUpdaterSetExperimentStateRequest, fuchsia_cobalt_SystemDataUpdaterSetExperimentStateRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_SystemDataUpdaterSetExperimentStateResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_SystemDataUpdaterSetChannel(handle zx_chan_fuchsia_cobalt_SystemDataUpdater_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_SystemDataUpdaterSetChannelRequest, fuchsia_cobalt_SystemDataUpdaterSetChannelRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_SystemDataUpdaterSetChannelResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])

fuchsia_cobalt_ControllerRequestSendSoonRequest {
	hdr	fidl_message_header[148310311]
} [packed]

fuchsia_cobalt_ControllerRequestSendSoonRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_ControllerRequestSendSoonResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_ControllerBlockUntilEmptyRequest {
	hdr			fidl_message_header[737508914]
	max_wait_seconds	int32
} [packed]

fuchsia_cobalt_ControllerBlockUntilEmptyRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_ControllerBlockUntilEmptyResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_ControllerGetNumSendAttemptsRequest {
	hdr	fidl_message_header[1476784191]
} [packed]

fuchsia_cobalt_ControllerGetNumSendAttemptsRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_ControllerGetNumSendAttemptsResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_ControllerGetFailedSendAttemptsRequest {
	hdr	fidl_message_header[976719687]
} [packed]

fuchsia_cobalt_ControllerGetFailedSendAttemptsRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_ControllerGetFailedSendAttemptsResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_ControllerGetNumObservationsAddedRequest {
	hdr	fidl_message_header[680119621]
} [packed]

fuchsia_cobalt_ControllerGetNumObservationsAddedRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_ControllerGetNumObservationsAddedResponseHandles {
	void	void
} [packed]

fuchsia_cobalt_ControllerGenerateAggregatedObservationsRequest {
	hdr			fidl_message_header[1523993550]
	day_index		int32
	report_idsInLine	fidl_vector
	report_idsOutOfLine	array[int32]
} [packed]

fuchsia_cobalt_ControllerGenerateAggregatedObservationsRequestHandles {
	void	void
} [packed]

fuchsia_cobalt_ControllerGenerateAggregatedObservationsResponseHandles {
	void	void
} [packed]

resource zx_chan_fuchsia_cobalt_Controller_client[zx_chan]
resource zx_chan_fuchsia_cobalt_Controller_server[zx_chan]

zx_channel_create$fuchsia_cobalt_Controller(options const[0], out0 ptr[out, zx_chan_fuchsia_cobalt_Controller_client], out1 ptr[out, zx_chan_fuchsia_cobalt_Controller_server])
fdio_service_connect$fuchsia_cobalt_Controller(path ptr[in, string["/svc/fuchsia.cobalt.Controller"]], handle zx_chan_fuchsia_cobalt_Controller_server)
zx_channel_call$fuchsia_cobalt_ControllerRequestSendSoon(handle zx_chan_fuchsia_cobalt_Controller_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_ControllerRequestSendSoonRequest, fuchsia_cobalt_ControllerRequestSendSoonRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_ControllerRequestSendSoonResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_ControllerBlockUntilEmpty(handle zx_chan_fuchsia_cobalt_Controller_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_ControllerBlockUntilEmptyRequest, fuchsia_cobalt_ControllerBlockUntilEmptyRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_ControllerBlockUntilEmptyResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_ControllerGetNumSendAttempts(handle zx_chan_fuchsia_cobalt_Controller_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_ControllerGetNumSendAttemptsRequest, fuchsia_cobalt_ControllerGetNumSendAttemptsRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_ControllerGetNumSendAttemptsResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_ControllerGetFailedSendAttempts(handle zx_chan_fuchsia_cobalt_Controller_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_ControllerGetFailedSendAttemptsRequest, fuchsia_cobalt_ControllerGetFailedSendAttemptsRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_ControllerGetFailedSendAttemptsResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_ControllerGetNumObservationsAdded(handle zx_chan_fuchsia_cobalt_Controller_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_ControllerGetNumObservationsAddedRequest, fuchsia_cobalt_ControllerGetNumObservationsAddedRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_ControllerGetNumObservationsAddedResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_cobalt_ControllerGenerateAggregatedObservations(handle zx_chan_fuchsia_cobalt_Controller_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_cobalt_ControllerGenerateAggregatedObservationsRequest, fuchsia_cobalt_ControllerGenerateAggregatedObservationsRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_cobalt_ControllerGenerateAggregatedObservationsResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
