# 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/hardware/ethernet/c/fidl.h>

fuchsia_hardware_ethernet_MacAddressInLine {
	octetsInLine	array[int8, 6]
} [packed]

fuchsia_hardware_ethernet_MacAddressOutOfLine {
	void	void
} [packed]

fuchsia_hardware_ethernet_MacAddressHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_InfoHandles {
	mac	fuchsia_hardware_ethernet_MacAddressHandles
} [packed]

fuchsia_hardware_ethernet_FifosHandles {
	rx	zx_fifo
	tx	zx_fifo
} [packed]

fuchsia_hardware_ethernet_DeviceGetInfoRequest {
	hdr	fidl_message_header[281534132]
} [packed]

fuchsia_hardware_ethernet_DeviceGetInfoRequestHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceGetInfoResponseHandles {
	info	fuchsia_hardware_ethernet_InfoHandles
} [packed]

fuchsia_hardware_ethernet_DeviceGetFifosRequest {
	hdr	fidl_message_header[568453368]
} [packed]

fuchsia_hardware_ethernet_DeviceGetFifosRequestHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceGetFifosResponseHandles {
	info	fuchsia_hardware_ethernet_FifosHandles
} [packed]

fuchsia_hardware_ethernet_DeviceSetIOBufferRequest {
	hdr	fidl_message_header[538834931]
	h	flags[fidl_handle_presence, int32]
} [packed]

fuchsia_hardware_ethernet_DeviceSetIOBufferRequestHandles {
	h	zx_vmo
} [packed]

fuchsia_hardware_ethernet_DeviceSetIOBufferResponseHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceStartRequest {
	hdr	fidl_message_header[601568857]
} [packed]

fuchsia_hardware_ethernet_DeviceStartRequestHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceStartResponseHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceStopRequest {
	hdr	fidl_message_header[1039990421]
} [packed]

fuchsia_hardware_ethernet_DeviceStopRequestHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceStopResponseHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceListenStartRequest {
	hdr	fidl_message_header[1529124283]
} [packed]

fuchsia_hardware_ethernet_DeviceListenStartRequestHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceListenStartResponseHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceListenStopRequest {
	hdr	fidl_message_header[594222167]
} [packed]

fuchsia_hardware_ethernet_DeviceListenStopRequestHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceListenStopResponseHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceSetClientNameRequest {
	hdr		fidl_message_header[1678545441]
	nameInLine	fidl_string
	nameOutOfLine	fidl_aligned[stringnoz]
} [packed]

fuchsia_hardware_ethernet_DeviceSetClientNameRequestHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceSetClientNameResponseHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceGetStatusRequest {
	hdr	fidl_message_header[1835250494]
} [packed]

fuchsia_hardware_ethernet_DeviceGetStatusRequestHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceGetStatusResponseHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceSetPromiscuousModeRequest {
	hdr	fidl_message_header[885102340]
	enabled	int8
} [packed]

fuchsia_hardware_ethernet_DeviceSetPromiscuousModeRequestHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceSetPromiscuousModeResponseHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceConfigMulticastAddMacRequest {
	hdr		fidl_message_header[60804632]
	addrInLine	fuchsia_hardware_ethernet_MacAddressInLine
	addrOutOfLine	fuchsia_hardware_ethernet_MacAddressOutOfLine
} [packed]

fuchsia_hardware_ethernet_DeviceConfigMulticastAddMacRequestHandles {
	addr	fuchsia_hardware_ethernet_MacAddressHandles
} [packed]

fuchsia_hardware_ethernet_DeviceConfigMulticastAddMacResponseHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceConfigMulticastDeleteMacRequest {
	hdr		fidl_message_header[1373297565]
	addrInLine	fuchsia_hardware_ethernet_MacAddressInLine
	addrOutOfLine	fuchsia_hardware_ethernet_MacAddressOutOfLine
} [packed]

fuchsia_hardware_ethernet_DeviceConfigMulticastDeleteMacRequestHandles {
	addr	fuchsia_hardware_ethernet_MacAddressHandles
} [packed]

fuchsia_hardware_ethernet_DeviceConfigMulticastDeleteMacResponseHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceConfigMulticastSetPromiscuousModeRequest {
	hdr	fidl_message_header[716476410]
	enabled	int8
} [packed]

fuchsia_hardware_ethernet_DeviceConfigMulticastSetPromiscuousModeRequestHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceConfigMulticastSetPromiscuousModeResponseHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceConfigMulticastTestFilterRequest {
	hdr	fidl_message_header[88826222]
} [packed]

fuchsia_hardware_ethernet_DeviceConfigMulticastTestFilterRequestHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceConfigMulticastTestFilterResponseHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceDumpRegistersRequest {
	hdr	fidl_message_header[1574160577]
} [packed]

fuchsia_hardware_ethernet_DeviceDumpRegistersRequestHandles {
	void	void
} [packed]

fuchsia_hardware_ethernet_DeviceDumpRegistersResponseHandles {
	void	void
} [packed]

resource zx_chan_fuchsia_hardware_ethernet_Device_client[zx_chan]
resource zx_chan_fuchsia_hardware_ethernet_Device_server[zx_chan]

zx_channel_create$fuchsia_hardware_ethernet_Device(options const[0], out0 ptr[out, zx_chan_fuchsia_hardware_ethernet_Device_client], out1 ptr[out, zx_chan_fuchsia_hardware_ethernet_Device_server])
fdio_service_connect$fuchsia_hardware_ethernet_Device(path ptr[in, string["/svc/"]], handle zx_chan_fuchsia_hardware_ethernet_Device_server)
zx_channel_call$fuchsia_hardware_ethernet_DeviceGetInfo(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceGetInfoRequest, fuchsia_hardware_ethernet_DeviceGetInfoRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceGetInfoResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceGetFifos(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceGetFifosRequest, fuchsia_hardware_ethernet_DeviceGetFifosRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceGetFifosResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceSetIOBuffer(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceSetIOBufferRequest, fuchsia_hardware_ethernet_DeviceSetIOBufferRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceSetIOBufferResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceStart(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceStartRequest, fuchsia_hardware_ethernet_DeviceStartRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceStartResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceStop(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceStopRequest, fuchsia_hardware_ethernet_DeviceStopRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceStopResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceListenStart(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceListenStartRequest, fuchsia_hardware_ethernet_DeviceListenStartRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceListenStartResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceListenStop(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceListenStopRequest, fuchsia_hardware_ethernet_DeviceListenStopRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceListenStopResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceSetClientName(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceSetClientNameRequest, fuchsia_hardware_ethernet_DeviceSetClientNameRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceSetClientNameResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceGetStatus(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceGetStatusRequest, fuchsia_hardware_ethernet_DeviceGetStatusRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceGetStatusResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceSetPromiscuousMode(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceSetPromiscuousModeRequest, fuchsia_hardware_ethernet_DeviceSetPromiscuousModeRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceSetPromiscuousModeResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceConfigMulticastAddMac(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceConfigMulticastAddMacRequest, fuchsia_hardware_ethernet_DeviceConfigMulticastAddMacRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceConfigMulticastAddMacResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceConfigMulticastDeleteMac(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceConfigMulticastDeleteMacRequest, fuchsia_hardware_ethernet_DeviceConfigMulticastDeleteMacRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceConfigMulticastDeleteMacResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceConfigMulticastSetPromiscuousMode(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceConfigMulticastSetPromiscuousModeRequest, fuchsia_hardware_ethernet_DeviceConfigMulticastSetPromiscuousModeRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceConfigMulticastSetPromiscuousModeResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceConfigMulticastTestFilter(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceConfigMulticastTestFilterRequest, fuchsia_hardware_ethernet_DeviceConfigMulticastTestFilterRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceConfigMulticastTestFilterResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
zx_channel_call$fuchsia_hardware_ethernet_DeviceDumpRegisters(handle zx_chan_fuchsia_hardware_ethernet_Device_client, options const[0], deadline zx_time, args ptr[in, fidl_call_args[fuchsia_hardware_ethernet_DeviceDumpRegistersRequest, fuchsia_hardware_ethernet_DeviceDumpRegistersRequestHandles, array[int8, ZX_CHANNEL_MAX_MSG_BYTES], fuchsia_hardware_ethernet_DeviceDumpRegistersResponseHandles]], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
