| // 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; |
| }; |