| // Copyright 2023 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 test.wlan.testcontroller; |
| |
| using fuchsia.wlan.fullmac; |
| using zx; |
| |
| alias FullmacId = uint32; |
| |
| closed protocol TestController { |
| |
| /// Create and bind Fullmac driver that forwards all incoming calls |
| /// to the |bridge_client|. The Fullmac driver will also create an instance |
| /// of SME on binding. |
| /// |
| /// The user should expect to receive a call to |
| /// WlanFullmacImpl::Start shortly after calling this. |
| /// |
| /// Returns an |id| that uniquely identifies the new instance of the Fullmac driver, |
| /// which can be used to delete the driver instance later. |
| strict CreateFullmac(resource struct { |
| bridge_client client_end:fuchsia.wlan.fullmac.WlanFullmacImpl; |
| }) -> (resource struct { |
| id FullmacId; |
| }) error zx.Status; |
| |
| /// Deletes the Fullmac driver with the given |id|. |
| strict DeleteFullmac(resource struct { |
| id FullmacId; |
| }) -> () error zx.Status; |
| }; |