blob: 8da004e25628ab5a79455034657e51f1379fb17b [file] [log] [blame]
Inaky Perez-Gonzalez34e95e42008-09-17 16:34:05 +01001/*
2 * Ultra Wide Band
3 * Debug interface commands
4 *
5 * Copyright (C) 2008 Cambridge Silicon Radio Ltd.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License version
9 * 2 as published by the Free Software Foundation.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19#ifndef __LINUX__UWB__DEBUG_CMD_H__
20#define __LINUX__UWB__DEBUG_CMD_H__
21
22#include <linux/types.h>
23
24/*
25 * Debug interface commands
26 *
27 * UWB_DBG_CMD_RSV_ESTABLISH: Establish a new unicast reservation.
28 *
29 * UWB_DBG_CMD_RSV_TERMINATE: Terminate the Nth reservation.
30 */
31
32enum uwb_dbg_cmd_type {
33 UWB_DBG_CMD_RSV_ESTABLISH = 1,
34 UWB_DBG_CMD_RSV_TERMINATE = 2,
Stefano Panella6d5a6812008-11-04 14:24:57 +000035 UWB_DBG_CMD_IE_ADD = 3,
36 UWB_DBG_CMD_IE_RM = 4,
David Vrabel6fae35f2008-11-17 15:53:42 +000037 UWB_DBG_CMD_RADIO_START = 5,
38 UWB_DBG_CMD_RADIO_STOP = 6,
Inaky Perez-Gonzalez34e95e42008-09-17 16:34:05 +010039};
40
41struct uwb_dbg_cmd_rsv_establish {
42 __u8 target[6];
43 __u8 type;
44 __u16 max_mas;
45 __u16 min_mas;
Stefano Panella5b377172008-12-12 13:00:06 +000046 __u8 max_interval;
Inaky Perez-Gonzalez34e95e42008-09-17 16:34:05 +010047};
48
49struct uwb_dbg_cmd_rsv_terminate {
50 int index;
51};
52
Stefano Panella6d5a6812008-11-04 14:24:57 +000053struct uwb_dbg_cmd_ie {
54 __u8 data[128];
55 int len;
56};
57
Inaky Perez-Gonzalez34e95e42008-09-17 16:34:05 +010058struct uwb_dbg_cmd {
59 __u32 type;
60 union {
61 struct uwb_dbg_cmd_rsv_establish rsv_establish;
62 struct uwb_dbg_cmd_rsv_terminate rsv_terminate;
Stefano Panella6d5a6812008-11-04 14:24:57 +000063 struct uwb_dbg_cmd_ie ie_add;
64 struct uwb_dbg_cmd_ie ie_rm;
Inaky Perez-Gonzalez34e95e42008-09-17 16:34:05 +010065 };
66};
67
68#endif /* #ifndef __LINUX__UWB__DEBUG_CMD_H__ */