blob: 596e229c40b75697526affa1fbe2562360b86ff8 [file] [log] [blame]
// Copyright 2020 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.
@available(added=7)
library fuchsia.factory.wlan;
using zx;
const MAX_BUFFER_SIZE uint64 = 16384;
/// Allows the factory testing tool to communicate to the firmware via the driver using
/// a pre-formatted command buffer to observe and/or control the WLAN hardware's behavior.
protocol Iovar {
/// + request `iface_idx` interface index in the firmware
/// + request `cmd` pre-defined command index specified by the manufacturer
/// + request `request` additional data associated with the command
/// - response `result` pre-formatted response data retrieved from firmware
/// * error a status code indicating why the request could not be completed.
Get(struct {
iface_idx int32;
cmd int32;
request bytes:MAX_BUFFER_SIZE;
}) -> (struct {
result bytes:MAX_BUFFER_SIZE;
}) error zx.status;
/// + request `iface_idx` interface index in the firmware
/// + request `cmd` pre-defined command index specified by the manufacturer
/// + request `request` additional data associated with the command
/// * error a status code indicating why the request could not be completed.
Set(struct {
iface_idx int32;
cmd int32;
request bytes:MAX_BUFFER_SIZE;
}) -> (struct {}) error zx.status;
};