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