Skip to content

Commit 05c59fe

Browse files
committed
net: mgmt: Convert the mgmt API to use 64-bit masks
Instead of using 32 bit enum values for event numbers, convert the code to use 64 bit long bit fields. This means that the user API is changed to use 64 bit event values instead of 32 bit event values. Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
1 parent a098f5c commit 05c59fe

File tree

11 files changed

+239
-192
lines changed

11 files changed

+239
-192
lines changed

include/zephyr/net/coap_mgmt.h

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,38 +42,43 @@ struct coap_observer;
4242

4343
enum net_event_coap_cmd {
4444
/* Service events */
45-
NET_EVENT_COAP_CMD_SERVICE_STARTED = 1,
45+
NET_EVENT_COAP_CMD_SERVICE_STARTED,
4646
NET_EVENT_COAP_CMD_SERVICE_STOPPED,
4747
/* Observer events */
4848
NET_EVENT_COAP_CMD_OBSERVER_ADDED,
4949
NET_EVENT_COAP_CMD_OBSERVER_REMOVED,
50+
51+
NET_EVENT_COAP_CMD_MAX
5052
};
5153

54+
BUILD_ASSERT(NET_EVENT_COAP_CMD_MAX <= NET_MGMT_MAX_COMMANDS
55+
"Number of events in net_event_coap_cmd exceeds the limit");
56+
5257
/** @endcond */
5358

5459
/**
5560
* @brief coap_mgmt event raised when a service has started
5661
*/
5762
#define NET_EVENT_COAP_SERVICE_STARTED \
58-
(NET_COAP_IF_BASE | NET_EVENT_COAP_CMD_SERVICE_STARTED)
63+
(NET_COAP_IF_BASE | BIT64(NET_EVENT_COAP_CMD_SERVICE_STARTED))
5964

6065
/**
6166
* @brief coap_mgmt event raised when a service has stopped
6267
*/
6368
#define NET_EVENT_COAP_SERVICE_STOPPED \
64-
(NET_COAP_IF_BASE | NET_EVENT_COAP_CMD_SERVICE_STOPPED)
69+
(NET_COAP_IF_BASE | BIT64(NET_EVENT_COAP_CMD_SERVICE_STOPPED))
6570

6671
/**
6772
* @brief coap_mgmt event raised when an observer has been added to a resource
6873
*/
6974
#define NET_EVENT_COAP_OBSERVER_ADDED \
70-
(NET_COAP_IF_BASE | NET_EVENT_COAP_CMD_OBSERVER_ADDED)
75+
(NET_COAP_IF_BASE | BIT64(NET_EVENT_COAP_CMD_OBSERVER_ADDED))
7176

7277
/**
7378
* @brief coap_mgmt event raised when an observer has been removed from a resource
7479
*/
7580
#define NET_EVENT_COAP_OBSERVER_REMOVED \
76-
(NET_COAP_IF_BASE | NET_EVENT_COAP_CMD_OBSERVER_REMOVED)
81+
(NET_COAP_IF_BASE | BIT64(NET_EVENT_COAP_CMD_OBSERVER_REMOVED))
7782

7883
/**
7984
* @brief CoAP Service event structure.

include/zephyr/net/conn_mgr_connectivity.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,28 @@ extern "C" {
4242
#define NET_MGMT_CONN_IF_EVENT (NET_MGMT_IFACE_BIT | NET_MGMT_CONN_BASE)
4343

4444
enum net_event_conn_cmd {
45-
NET_EVENT_CONN_CMD_IF_TIMEOUT = 1,
45+
NET_EVENT_CONN_CMD_IF_TIMEOUT,
4646
NET_EVENT_CONN_CMD_IF_FATAL_ERROR,
47+
48+
NET_EVENT_CONN_CMD_MAX
4749
};
4850

51+
BUILD_ASSERT(NET_EVENT_CONN_CMD_MAX <= NET_MGMT_MAX_COMMANDS,
52+
"Number of events in net_event_conn_cmd exceeds the limit");
53+
4954
/** @endcond */
5055

5156
/**
5257
* @brief net_mgmt event raised when a connection attempt times out
5358
*/
5459
#define NET_EVENT_CONN_IF_TIMEOUT \
55-
(NET_MGMT_CONN_IF_EVENT | NET_EVENT_CONN_CMD_IF_TIMEOUT)
60+
(NET_MGMT_CONN_IF_EVENT | BIT64(NET_EVENT_CONN_CMD_IF_TIMEOUT))
5661

5762
/**
5863
* @brief net_mgmt event raised when a non-recoverable connectivity error occurs on an iface
5964
*/
6065
#define NET_EVENT_CONN_IF_FATAL_ERROR \
61-
(NET_MGMT_CONN_IF_EVENT | NET_EVENT_CONN_CMD_IF_FATAL_ERROR)
66+
(NET_MGMT_CONN_IF_EVENT | BIT64(NET_EVENT_CONN_CMD_IF_FATAL_ERROR))
6267

6368

6469
/**

include/zephyr/net/ethernet_mgmt.h

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -189,23 +189,28 @@ struct ethernet_req_params {
189189
};
190190

191191
enum net_event_ethernet_cmd {
192-
NET_EVENT_ETHERNET_CMD_CARRIER_ON = 1,
192+
NET_EVENT_ETHERNET_CMD_CARRIER_ON,
193193
NET_EVENT_ETHERNET_CMD_CARRIER_OFF,
194194
NET_EVENT_ETHERNET_CMD_VLAN_TAG_ENABLED,
195195
NET_EVENT_ETHERNET_CMD_VLAN_TAG_DISABLED,
196+
197+
NET_EVENT_ETHERNET_CMD_MAX
196198
};
197199

200+
BUILD_ASSERT(NET_EVENT_ETHERNET_CMD_MAX <= NET_MGMT_MAX_COMMANDS
201+
"Number of events in net_event_ethernet_cmd exceeds the limit");
202+
198203
#define NET_EVENT_ETHERNET_CARRIER_ON \
199-
(NET_ETHERNET_EVENT | NET_EVENT_ETHERNET_CMD_CARRIER_ON)
204+
(NET_ETHERNET_EVENT | BIT64(NET_EVENT_ETHERNET_CMD_CARRIER_ON))
200205

201206
#define NET_EVENT_ETHERNET_CARRIER_OFF \
202-
(NET_ETHERNET_EVENT | NET_EVENT_ETHERNET_CMD_CARRIER_OFF)
207+
(NET_ETHERNET_EVENT | BIT64(NET_EVENT_ETHERNET_CMD_CARRIER_OFF))
203208

204209
#define NET_EVENT_ETHERNET_VLAN_TAG_ENABLED \
205-
(NET_ETHERNET_EVENT | NET_EVENT_ETHERNET_CMD_VLAN_TAG_ENABLED)
210+
(NET_ETHERNET_EVENT | BIT64(NET_EVENT_ETHERNET_CMD_VLAN_TAG_ENABLED))
206211

207212
#define NET_EVENT_ETHERNET_VLAN_TAG_DISABLED \
208-
(NET_ETHERNET_EVENT | NET_EVENT_ETHERNET_CMD_VLAN_TAG_DISABLED)
213+
(NET_ETHERNET_EVENT | BIT64(NET_EVENT_ETHERNET_CMD_VLAN_TAG_DISABLED))
209214

210215
struct net_if;
211216

include/zephyr/net/ieee802154_mgmt.h

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,9 +256,14 @@ NET_MGMT_DEFINE_REQUEST_HANDLER(NET_REQUEST_IEEE802154_GET_SECURITY_SETTINGS);
256256
*/
257257

258258
enum net_event_ieee802154_cmd {
259-
NET_EVENT_IEEE802154_CMD_SCAN_RESULT = 1,
259+
NET_EVENT_IEEE802154_CMD_SCAN_RESULT,
260+
261+
NET_EVENT_IEEE802154_CMD_MAX
260262
};
261263

264+
BUILD_ASSERT(NET_EVENT_IEEE802154_CMD_MAX <= NET_MGMT_MAX_COMMANDS
265+
"Number of events in net_event_ieee802154_cmd exceeds the limit");
266+
262267
/**
263268
* INTERNAL_HIDDEN @endcond
264269
*/
@@ -282,7 +287,7 @@ enum net_event_ieee802154_cmd {
282287
* See @ref ieee802154_req_params for associated event parameters.
283288
*/
284289
#define NET_EVENT_IEEE802154_SCAN_RESULT \
285-
(NET_IEEE802154_EVENT | NET_EVENT_IEEE802154_CMD_SCAN_RESULT)
290+
(NET_IEEE802154_EVENT | BIT64(NET_EVENT_IEEE802154_CMD_SCAN_RESULT))
286291

287292
/**
288293
* @}

0 commit comments

Comments
 (0)