xref: /openbmc/linux/drivers/net/ieee802154/mac802154_hwsim.h (revision 3eb66e91a25497065c5322b1268cbc3953642227)
1*f25da51fSAlexander Aring #ifndef __MAC802154_HWSIM_H
2*f25da51fSAlexander Aring #define __MAC802154_HWSIM_H
3*f25da51fSAlexander Aring 
4*f25da51fSAlexander Aring /* mac802154 hwsim netlink commands
5*f25da51fSAlexander Aring  *
6*f25da51fSAlexander Aring  * @MAC802154_HWSIM_CMD_UNSPEC: unspecified command to catch error
7*f25da51fSAlexander Aring  * @MAC802154_HWSIM_CMD_GET_RADIO: fetch information about existing radios
8*f25da51fSAlexander Aring  * @MAC802154_HWSIM_CMD_SET_RADIO: change radio parameters during runtime
9*f25da51fSAlexander Aring  * @MAC802154_HWSIM_CMD_NEW_RADIO: create a new radio with the given parameters
10*f25da51fSAlexander Aring  *	returns the radio ID (>= 0) or negative on errors, if successful
11*f25da51fSAlexander Aring  *	then multicast the result
12*f25da51fSAlexander Aring  * @MAC802154_HWSIM_CMD_DEL_RADIO: destroy a radio, reply is multicasted
13*f25da51fSAlexander Aring  * @MAC802154_HWSIM_CMD_GET_EDGE: fetch information about existing edges
14*f25da51fSAlexander Aring  * @MAC802154_HWSIM_CMD_SET_EDGE: change edge parameters during runtime
15*f25da51fSAlexander Aring  * @MAC802154_HWSIM_CMD_DEL_EDGE: delete edges between radios
16*f25da51fSAlexander Aring  * @MAC802154_HWSIM_CMD_NEW_EDGE: create a new edge between two radios
17*f25da51fSAlexander Aring  * @__MAC802154_HWSIM_CMD_MAX: enum limit
18*f25da51fSAlexander Aring  */
19*f25da51fSAlexander Aring enum {
20*f25da51fSAlexander Aring 	MAC802154_HWSIM_CMD_UNSPEC,
21*f25da51fSAlexander Aring 
22*f25da51fSAlexander Aring 	MAC802154_HWSIM_CMD_GET_RADIO,
23*f25da51fSAlexander Aring 	MAC802154_HWSIM_CMD_SET_RADIO,
24*f25da51fSAlexander Aring 	MAC802154_HWSIM_CMD_NEW_RADIO,
25*f25da51fSAlexander Aring 	MAC802154_HWSIM_CMD_DEL_RADIO,
26*f25da51fSAlexander Aring 
27*f25da51fSAlexander Aring 	MAC802154_HWSIM_CMD_GET_EDGE,
28*f25da51fSAlexander Aring 	MAC802154_HWSIM_CMD_SET_EDGE,
29*f25da51fSAlexander Aring 	MAC802154_HWSIM_CMD_DEL_EDGE,
30*f25da51fSAlexander Aring 	MAC802154_HWSIM_CMD_NEW_EDGE,
31*f25da51fSAlexander Aring 
32*f25da51fSAlexander Aring 	__MAC802154_HWSIM_CMD_MAX,
33*f25da51fSAlexander Aring };
34*f25da51fSAlexander Aring 
35*f25da51fSAlexander Aring #define MAC802154_HWSIM_CMD_MAX (__MAC802154_HWSIM_MAX - 1)
36*f25da51fSAlexander Aring 
37*f25da51fSAlexander Aring /* mac802154 hwsim netlink attributes
38*f25da51fSAlexander Aring  *
39*f25da51fSAlexander Aring  * @MAC802154_HWSIM_ATTR_UNSPEC: unspecified attribute to catch error
40*f25da51fSAlexander Aring  * @MAC802154_HWSIM_ATTR_RADIO_ID: u32 attribute to identify the radio
41*f25da51fSAlexander Aring  * @MAC802154_HWSIM_ATTR_EDGE: nested attribute of edges
42*f25da51fSAlexander Aring  * @MAC802154_HWSIM_ATTR_EDGES: list if nested attributes which contains the
43*f25da51fSAlexander Aring  *	edge information according the radio id
44*f25da51fSAlexander Aring  * @__MAC802154_HWSIM_ATTR_MAX: enum limit
45*f25da51fSAlexander Aring  */
46*f25da51fSAlexander Aring enum {
47*f25da51fSAlexander Aring 	MAC802154_HWSIM_ATTR_UNSPEC,
48*f25da51fSAlexander Aring 	MAC802154_HWSIM_ATTR_RADIO_ID,
49*f25da51fSAlexander Aring 	MAC802154_HWSIM_ATTR_RADIO_EDGE,
50*f25da51fSAlexander Aring 	MAC802154_HWSIM_ATTR_RADIO_EDGES,
51*f25da51fSAlexander Aring 	__MAC802154_HWSIM_ATTR_MAX,
52*f25da51fSAlexander Aring };
53*f25da51fSAlexander Aring 
54*f25da51fSAlexander Aring #define MAC802154_HWSIM_ATTR_MAX (__MAC802154_HWSIM_ATTR_MAX - 1)
55*f25da51fSAlexander Aring 
56*f25da51fSAlexander Aring /* mac802154 hwsim edge netlink attributes
57*f25da51fSAlexander Aring  *
58*f25da51fSAlexander Aring  * @MAC802154_HWSIM_EDGE_ATTR_UNSPEC: unspecified attribute to catch error
59*f25da51fSAlexander Aring  * @MAC802154_HWSIM_EDGE_ATTR_ENDPOINT_ID: radio id where the edge points to
60*f25da51fSAlexander Aring  * @MAC802154_HWSIM_EDGE_ATTR_LQI: LQI value which the endpoint radio will
61*f25da51fSAlexander Aring  *	receive for this edge
62*f25da51fSAlexander Aring  * @__MAC802154_HWSIM_ATTR_MAX: enum limit
63*f25da51fSAlexander Aring  */
64*f25da51fSAlexander Aring enum {
65*f25da51fSAlexander Aring 	MAC802154_HWSIM_EDGE_ATTR_UNSPEC,
66*f25da51fSAlexander Aring 	MAC802154_HWSIM_EDGE_ATTR_ENDPOINT_ID,
67*f25da51fSAlexander Aring 	MAC802154_HWSIM_EDGE_ATTR_LQI,
68*f25da51fSAlexander Aring 	__MAC802154_HWSIM_EDGE_ATTR_MAX,
69*f25da51fSAlexander Aring };
70*f25da51fSAlexander Aring 
71*f25da51fSAlexander Aring #define MAC802154_HWSIM_EDGE_ATTR_MAX (__MAC802154_HWSIM_EDGE_ATTR_MAX - 1)
72*f25da51fSAlexander Aring 
73*f25da51fSAlexander Aring #endif /* __MAC802154_HWSIM_H */
74