| // 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. |
| closed 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. |
| strict Get(struct { |
| iface_idx int32; |
| cmd int32; |
| request vector<uint8>:MAX_BUFFER_SIZE; |
| }) -> (struct { |
| result vector<uint8>: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. |
| strict Set(struct { |
| iface_idx int32; |
| cmd int32; |
| request vector<uint8>:MAX_BUFFER_SIZE; |
| }) -> () error zx.Status; |
| }; |