1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Ultra Wide Band 4 * Debug interface commands 5 * 6 * Copyright (C) 2008 Cambridge Silicon Radio Ltd. 7 */ 8 #ifndef __LINUX__UWB__DEBUG_CMD_H__ 9 #define __LINUX__UWB__DEBUG_CMD_H__ 10 11 #include <linux/types.h> 12 13 /* 14 * Debug interface commands 15 * 16 * UWB_DBG_CMD_RSV_ESTABLISH: Establish a new unicast reservation. 17 * 18 * UWB_DBG_CMD_RSV_TERMINATE: Terminate the Nth reservation. 19 */ 20 21 enum uwb_dbg_cmd_type { 22 UWB_DBG_CMD_RSV_ESTABLISH = 1, 23 UWB_DBG_CMD_RSV_TERMINATE = 2, 24 UWB_DBG_CMD_IE_ADD = 3, 25 UWB_DBG_CMD_IE_RM = 4, 26 UWB_DBG_CMD_RADIO_START = 5, 27 UWB_DBG_CMD_RADIO_STOP = 6, 28 }; 29 30 struct uwb_dbg_cmd_rsv_establish { 31 __u8 target[6]; 32 __u8 type; 33 __u16 max_mas; 34 __u16 min_mas; 35 __u8 max_interval; 36 }; 37 38 struct uwb_dbg_cmd_rsv_terminate { 39 int index; 40 }; 41 42 struct uwb_dbg_cmd_ie { 43 __u8 data[128]; 44 int len; 45 }; 46 47 struct uwb_dbg_cmd { 48 __u32 type; 49 union { 50 struct uwb_dbg_cmd_rsv_establish rsv_establish; 51 struct uwb_dbg_cmd_rsv_terminate rsv_terminate; 52 struct uwb_dbg_cmd_ie ie_add; 53 struct uwb_dbg_cmd_ie ie_rm; 54 }; 55 }; 56 57 #endif /* #ifndef __LINUX__UWB__DEBUG_CMD_H__ */ 58