blob: 6645e5fe661314d1d89bfaad23923123772a816c [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.
library fuchsia.factory.wlan;
using zx;
const uint64 MAX_BUFFER_SIZE = 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(int32 iface_idx, int32 cmd, bytes:MAX_BUFFER_SIZE request) -> (bytes:MAX_BUFFER_SIZE result) 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(int32 iface_idx, int32 cmd, bytes:MAX_BUFFER_SIZE request) -> () error zx.status;
};