bRAWcap 1.0.1
b-plus Technologies - Ethernet Performance Transmitter Receiver
Loading...
Searching...
No Matches
brawcap_types_um.h
Go to the documentation of this file.
1/**
2 * @file brawcap_types_um.h
3 *
4 * @brief bRAWcap API - User mode types.
5 *
6 * The file includes all (data)types and defines used for bRAWcap (user space only).
7 *
8 * @copyright
9 * <b> © 2021 - b-plus technologies GmbH. All rights reserved!</b>
10 *
11 * All rights exclusively reserved for b-plus GmbH, unless expressly otherwise agreed.
12 *
13 * Redistribution in source or any other form, with or without modification, is not permitted.
14 *
15 *
16 * You may use this code under the according license terms of b-plus. Please contact b-plus at services@b-plus.com
17 * to get the appropriate terms and conditions.
18 */
19#ifndef BRAWCAP_TYPES_UM_H
20#define BRAWCAP_TYPES_UM_H
21
23
24/**************************************************** LIB ************************************************************/
25#if 1
26/**
27 * @defgroup brawcap_lib Importing
28 * @brief Defines required for automatic/dynamic bRAWcap API function importing.
29 * @{
30 */
31
32// You should never define _BRAWCAP_EXPORT when including bRAWcap.
33#ifdef _BRAWCAP_EXPORT
34 /**
35 * @internal
36 * @brief Dynamic/automatic function export when compiling bRAWcap itself.
37 * @warning Only required when building the bRAWcap library.
38 * Should never be defined if you include bRAWcap.
39 */
40 #define _BRAWCAP_API_FUNC(returnType) __declspec(dllexport) returnType __cdecl
41#else
42 /**
43 * @brief Dynamic/automatic function import for loading/including.
44 */
45 #define _BRAWCAP_API_FUNC(returnType) __declspec(dllimport) returnType __cdecl
46#endif
47
48/**@}*/
49#endif
50
51/************************************************ LOGGING ************************************************************/
52#if 1
53/**
54 * @defgroup brawcap_logging Logging
55 * @brief Types and functions for handling/modifying the bRAWcap logging.
56 *
57 * This module provides some functions for configuring the bRAWcap logging behavior.
58 * The bRAWcap logger supports different log levels and types, which allows to configure the logging for specific
59 * types independent to each other.
60 * Increasing the log level may help during development of the user application which shall use bRAWcap.
61 *
62 * @note If you think there is a problem with bRAWcap, please enable detailed logging,
63 * run your application until the problem occurs and then send the created bRAWcap log files to b-plus.
64 *
65 * @attention For release builds log levels such as verbose shall be avoided, because they can lead to performance
66 * degradation.
67 * @{
68 */
69
70/**
71 * @brief List of bRAWcap log levels.
72 *
73 * The log levels allows to (de)activate additional log entries.
74 * This can be especially useful during development, to get a more detailed log from bRAWcap.
75 */
76typedef enum _brawcap_log_level
77{
78 /**
79 * @brief Debug log level is for debugging bRAWcap itself only.
80 * Therefore it can only be enabled if the application is registered with higher privilege.
81 *
82 * @note Default: Deactivated
83 */
85 /**
86 * @brief Verbose log level will include many informative loggings.
87 * Those loggings gives more info why some API calls may fail.
88 * This will especially contain those cases in which the caller has provided invalid parameters.
89 * It should be activated only for development, testing or error research.
90 *
91 * @note Default: Deactivated
92 */
94 /**
95 * @brief Notice log level will include some loggings which gives information of the current bRAWcap state.
96 * This may be disabled to decrease logging to a minimum.
97 *
98 * @note Default: Activated
99 */
101 /**
102 * @brief Warning log level will include loggings for unexpected states.
103 * This level should never be disabled.
104 *
105 * @note Default: Activated
106 */
108 /**
109 * @brief Error log level will include loggings if something went completely wrong and bRAWcap could not solve
110 * the issue.
111 * Those loggings should never appear, if so bRAWcap may be in a invalid state.
112 * If loggings contain such a logentry please try to reproduce it again with all log levels enabled
113 * and send the logfile (with a short description of how to reproduce it) to b-plus.
114 * This should really never be disabled.
115 *
116 * @note Default: Activated
117 */
120
121/**
122 * @brief List of bRAWcap log types.
123 *
124 * The log types allows to adjust log levels for each type independent.
125 * To distinguish between different types each logentry will be prefixed with it´s type, this increases the readability
126 * of the logfile.
127 */
128typedef enum _brawcap_log_type
129{
130 /**
131 * @brief Generic loggings will be used for everything which has no specific type.
132 */
134 /**
135 * @brief Adapter loggings will be used for anything which relates to the local adapter handling.
136 */
138 /**
139 * @brief Receive loggings will be used for anything which relates to receiving.
140 */
142 /**
143 * @brief Transmit loggings will be used for anything which relates to transmitting.
144 */
146 /**
147 * @brief License loggings will be used for anything which relates to licensing.
148 */
150
151 BRAWCAP_LOG_TYPE_ALL = 0xFFFF
153
154/**@}*/
155#endif
156
157/************************************************ GENERIC ************************************************************/
158#if 1
159/**
160 * @addtogroup brawcap_generics
161 * @{
162 */
163
164/**
165 * @brief A bRAWcap handle.
166 *
167 * It can be @ref brawcap_open "created/opened" and @ref brawcap_close "deleted/closed".
168 * In general every function which communicates with the bRAWcap driver requires a open bRAWcap handle.
169 *
170 * @attention The number of bRAWcap handles per adapter is limited to @ref BRAWCAP_HANDLES_PER_ADAPTER_MAX.
171 * If this limit is reached each additional open on that adapter will fail.
172 */
173typedef struct _brawcap_handle brawcap_handle_t;
174
175/**@}*/
176#endif
177
178/*********************************************** TIMESTAMP ***********************************************************/
179#if 1
180/**
181 * @addtogroup brawcap_timestamp
182 * @{
183 */
184
185/**@}*/
186#endif
187
188/************************************************ PACKET *************************************************************/
189#if 1
190/**
191 * @addtogroup brawcap_packet
192 * @{
193 */
194
195/**@}*/
196#endif
197
198/************************************************* BUFFER *************************************************************/
199#if 1
200/**
201 * @addtogroup brawcap_buffer
202 * @{
203 */
204
205/********************************************* BUFFER ITERATOR ********************************************************/
206#if 1
207/**
208 * @addtogroup brawcap_buffer_iterator
209 * @{
210 */
211
212/**@}*/
213#endif
214
215/**@}*/
216#endif
217
218/************************************************** ADAPTER **********************************************************/
219#if 1
220/**
221 * @addtogroup brawcap_adapter
222 * @{
223 */
224
225/**
226 * @brief Required number of bytes for describing a MAC address.
227 * The defined length does not containing any delimiters, it represents the number of MAC address digits.
228 */
229#define BRAWCAP_ADAPTER_MAC_LENGTH 6
230
231/**
232 * @brief The max supported length for an adapter name.
233 *
234 * @note On Windows a adapter name always corresponds to it´s GUID.
235 * Those GUIDs have a fixed length.
236 */
237#define BRAWCAP_ADAPTER_NAME_LENGTH 40
238
239/**
240 * @brief Type used for counting the available/supported adapters on a machine.
241 */
243
244/**
245 * @brief Fixed size array describing a MAC address.
246 *
247 * The array only contains the MAC address digits without any delimiters.
248 */
250
251/**
252 * @brief Fixed size array containing a adapter name.
253 *
254 * @note On Windows a adapter name corresponds always to it´s GUID.
255 * Textual GUIDs always have the format "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}".
256 */
258
259/**
260 * @brief IPv4 address.
261 */
262typedef union _brawcap_adapter_ipv4
263{
264 UINT8 bytes[4]; /*!< IPv4 address as byte array. */
265 UINT16 words[2]; /*!< IPv4 address as word array (each element has two Bytes). */
266 UINT32 addr; /*!< IPv4 address as single integer value. */
268
269/**
270 * @brief IPv6 address.
271 */
272typedef union _brawcap_adapter_ipv6
273{
274 UINT8 bytes[16]; /*!< IPv6 address as byte array. */
275 UINT16 words[8]; /*!< IPv6 address as word array (each element has two Bytes). */
276 UINT64 qwords[2]; /*!< IPv6 address as large word array (each element has eight Bytes). */
278
279/**
280 * @brief List of bRAWcap adapter speeds.
281 * Values indicating the current adapter uplink speed.
282 *
283 * @note The speed should be always equal for rx and tx,
284 * but both can be requested independent of each other.
285 */
286typedef enum _brawcap_adapter_speed
287{
288 BRAWCAP_ADAPTER_SPEED_UNKNOWN = 0ULL, /*!< Speed unknown */
289 BRAWCAP_ADAPTER_SPEED_10M = 10ULL, /*!< 10 MBit/s */
290 BRAWCAP_ADAPTER_SPEED_100M = 100ULL, /*!< 100 MBit/s */
291 BRAWCAP_ADAPTER_SPEED_1G = 1000ULL, /*!< 1 GBit/s */
292 BRAWCAP_ADAPTER_SPEED_2_5G = 2500ULL, /*!< 2,5 GBit/s */
293 BRAWCAP_ADAPTER_SPEED_5G = 5000ULL, /*!< 5 GBit/s */
294 BRAWCAP_ADAPTER_SPEED_10G = 10000ULL, /*!< 10 GBit/s*/
295 BRAWCAP_ADAPTER_SPEED_25G = 25000ULL, /*!< 25 GBit/s */
296 BRAWCAP_ADAPTER_SPEED_40G = 40000ULL, /*!< 40 GBit/s */
297 BRAWCAP_ADAPTER_SPEED_50G = 50000ULL, /*!< 50 GBit/s */
298 BRAWCAP_ADAPTER_SPEED_100G = 100000ULL /*!< 100 GBit/s */
300
301/**
302 * @brief List of adapter connection states.
303 * Values indicating the current adapter connection state (uplink/cable connected).
304 */
305typedef enum _brawcap_adapter_connection_state
306{
307 BRAWCAP_ADAPTER_CONNECTION_UNKNOWN = 0, /*!< Connection state unknown. */
308 BRAWCAP_ADAPTER_CONNECTION_UP = 1, /*!< Connection is up (uplink/cable connected). */
309 BRAWCAP_ADAPTER_CONNECTION_DOWN = 2 /*!< Connection is down (cable not connected). */
311
312/**
313 * @brief List of adapter operation states.
314 * Values indicating the current adapter operation state (adapter driver status).
315 */
316typedef enum _brawcap_adapter_operation_state
317{
318 BRAWCAP_ADAPTER_OPERATION_UNKNOWN = 0, /*!< Operation state unknown. */
319 BRAWCAP_ADAPTER_OPERATION_UP = 1, /*!< Adapter is running (driver activated). */
320 BRAWCAP_ADAPTER_OPERATION_DOWN = 2, /*!< Adapter is down/disabled (driver deactivated). */
321 BRAWCAP_ADAPTER_OPERATION_TESTING = 3 /*!< Adapter is in probing state. */
323
324/**
325 * @brief Type for handling the adapter maximum transmission unit (MTU).
326 *
327 * It describes the maximum bytes per packet which can be received/transmitted on the adapter.
328 * Typical values are 1500 bytes for default sized Ethernet and 9000 bytes for jumbo frames.
329 *
330 * @note In general the MTU does not contain the Ethernet header (14 Bytes).
331 * If something like 1514/9014 is displayed by the adapter driver it contains the Ethernet header.
332 * If VLAN tagging is activated, VLAN packets require 4 additional bytes for each VLAN tag.
333 * There is also a 4 Byte FCS - defined by Ethernet - added to each packet (done by the network adapter).
334 * For example a full sized Jumbo Packet with one VLAN Tag can have:
335 * 14 Bytes Ethernet header + 4 Bytes VLAN Tag + 9000 Bytes Payload + 4 Bytes FCS = 9022 Bytes.
336 */
338
339/**
340 * @brief List of reasons for adapter change notifications.
341 * This values indicate why a adapter change notification is received.
342 */
343typedef enum _brawcap_adapter_notify_reason
344{
345 /**
346 * @brief The notification reason is unknown.
347 */
349 /**
350 * @brief A new bRAWcap adapter was detected.
351 * E.g. due to enabling bRAWcap driver on an adapter where it was disabled before.
352 */
354 /**
355 * @brief A bRAWcap adapter was removed.
356 * E.g. due to disabling bRAWcap driver on an adapter where it was enabled before.
357 */
359 /**
360 * @brief A adapter property has changed.
361 * This can have several reasons, for a list of all properties see @ref brawcap_adapter_properties_t.
362 */
365
366/**
367 * @brief List of adapter properties.
368 * They are used to identify adapter change notifications with a property change reason.
369 *
370 * @note The property values allow to store several properties in a single bitfield.
371 * This makes it possible to indicate several property changes with only one notification.
372 */
373typedef enum _brawcap_adapter_properties
374{
375 BRAWCAP_ADAPTER_PROPERTY_FRIENDLY_NAME = 0x0001, /*!< Adapter friendly name changed. */
376 BRAWCAP_ADAPTER_PROPERTY_RX_SPEED = 0x0002, /*!< Adapter receive speed changed. */
377 BRAWCAP_ADAPTER_PROPERTY_TX_SPEED = 0x0004, /*!< Adapter transmit speed changed. */
378 BRAWCAP_ADAPTER_PROPERTY_MTU = 0x0008, /*!< Adapter max transmission unit changed. */
379 BRAWCAP_ADAPTER_PROPERTY_OPERATION_STATE = 0x0010, /*!< Adapter operation state changed. */
380 BRAWCAP_ADAPTER_PROPERTY_CONNECTION_STATE = 0x0020, /*!< Adapter connection state changed. */
381 BRAWCAP_ADAPTER_PROPERTY_IPV4 = 0x0040, /*!< Adapter IPv4 address changed. */
382 BRAWCAP_ADAPTER_PROPERTY_IPV6 = 0x0080 /*!< Adapter IPv6 address changed. */
384
385/**
386 * @brief The general callback for adapter change notifications.
387 * It will be called each time a available and supported adapter change is detected.
388 *
389 * @attention Each application can only register for this callback once.
390 *
391 * @param[in] name The adapter name on which the change happened.
392 *
393 * @param[in] reason The reason/type of change (see @ref brawcap_adapter_notify_reason_t).
394 *
395 * @param[in] properties A bit field with the properties that have changed (see @ref brawcap_adapter_properties_t).
396 *
397 * @param[in] pUser Pointer to a user defined context.
398 * It allows access to user specific data within the callback.
399 */
401 const brawcap_adapter_notify_reason_t reason, const UINT32 properties, void* pUser);
402
403/**
404 * @brief The per handle callback for adapter change notifications.
405 * It will be called each time a change for the handle underlying adapter (and only for this adapter) is detected.
406 *
407 * @attention Each handle can register for this callback once.
408 *
409 * @param[in] pHandle The handle for which the adapter change notification was registered.
410 *
411 * @param[in] reason The reason/type of change (see @ref brawcap_adapter_notify_reason_t).
412 *
413 * @param[in] properties A bit field with the properties that have changed (see @ref brawcap_adapter_properties_t).
414 *
415 * @param[in] pUser Pointer to a user defined context.
416 * It allows access to user specific data within the callback.
417 */
419 const brawcap_adapter_notify_reason_t reason, const UINT32 properties, void* pUser);
420
421/**@}*/
422#endif
423
424/************************************************** RECEIVE **********************************************************/
425#if 1
426/**
427 * @addtogroup brawcap_receive
428 * @{
429 */
430
431/********************************************** RECEIVE FILTER *******************************************************/
432#if 1
433/**
434 * @addtogroup brawcap_filter
435 * @{
436 */
437
438/**@}*/
439#endif
440
441/**
442 * @brief Max number of supported packet (receive) buffers per bRAWcap handle.
443 *
444 * Limits the number of buffers which can be attached to a single handle with @ref brawcap_rx_buffer_attach.
445 */
446#define BRAWCAP_RX_BUFFERS_PER_HANDLE_MAX 2
447
448/**
449 * @brief Receive callback which is called each time a receive has finished.
450 * Receiving can be started with @ref brawcap_rx_start and has to be stopped with @ref brawcap_rx_stop.
451 * Before anything can be received it is necessary to attach packet buffers to the bRAWcap handle.
452 * This can be done by creating new bRAWcap buffers (@ref brawcap_buffer_create) and attach it with
453 * @ref brawcap_rx_buffer_attach.
454 *
455 * @note If a handle has multiple buffers attached, the callback may be called in parallel (by different threads).
456 *
457 * @warning Executing to long in the callback can lead to a bottleneck in reception!
458 * It is recommended that the driver always has at least one (free) buffer were it can store the packets to.
459 *
460 * @param[in] pHandle Handle on which the receive returned.
461 *
462 * @param[in] status The overall receive status see @ref brawcap_status_t for possible return values.
463 *
464 * @param[in] pBuffer Pointer to the buffer which has finished receiving.
465 * It can be used to access all packets in the buffer and allows to retrieve information
466 * for each received packet (e.g. payload, length, timestamp, ...).
467 *
468 * @param[in] pUser Pointer to a user defined context.
469 * It allows access to user specific data within the callback.
470 */
471typedef void (*brawcap_rx_callback_t)(brawcap_handle_t* const pHandle, const brawcap_status_t status,
472 brawcap_buffer_t* const pBuffer, void* pUser);
473
474/**@}*/
475#endif
476
477/************************************************* TRANSMIT **********************************************************/
478#if 1
479/**
480 * @addtogroup brawcap_transmit
481 * @{
482 */
483
484/**
485 * @brief Transmit callback which is called each time a transmission initiated with @ref brawcap_tx_buffer_send has
486 * finished.
487 *
488 * @note Before any buffer can be transmitted the tranmission has to be started with @ref brawcap_tx_start and
489 * stopped with @ref brawcap_tx_stop.
490 *
491 * @param[in] pHandle Handle on which the transmission has finished.
492 *
493 * @param[in] status The overall transmission status see @ref brawcap_status_t for possible return values.
494 *
495 * @param[in] pBuffer Pointer to the buffer which has finished transmission (initiated with
496 * @ref brawcap_tx_buffer_send). It can be used to access all packets in the buffer - after transmission - and allows
497 * to retrieve information about each packet (e.g. (transmission) status, timestamp, ...).
498 *
499 * @param[in] pUser Pointer to a user defined context (allows access to user specific data within the callback).
500 */
501typedef void (*brawcap_tx_callback_t)(brawcap_handle_t* const pHandle, const brawcap_status_t status,
502 brawcap_buffer_t* const pBuffer, void* pUser);
503
504/**@}*/
505#endif
506
507/*************************************************** STATS ***********************************************************/
508#if 1
509/**
510 * @addtogroup brawcap_stats
511 * @{
512 */
513
514/**@}*/
515#endif
516
517#endif // BRAWCAP_TYPES_UM_H
bRAWcap API - Shared types.
struct _brawcap_handle brawcap_handle_t
A bRAWcap handle.
Definition: brawcap_types_um.h:173
brawcap_status_t
bRAWcap status/return codes.
Definition: brawcap_types_shared.h:150
struct _brawcap_buffer brawcap_buffer_t
bRAWcap packet buffer object.
Definition: brawcap_types_shared.h:742
IPv4 address.
Definition: brawcap_types_um.h:263
IPv6 address.
Definition: brawcap_types_um.h:273
UINT32 addr
Definition: brawcap_types_um.h:266
#define BRAWCAP_ADAPTER_NAME_LENGTH
The max supported length for an adapter name.
Definition: brawcap_types_um.h:237
brawcap_adapter_properties_t
List of adapter properties. They are used to identify adapter change notifications with a property ch...
Definition: brawcap_types_um.h:374
void(* brawcap_adapter_notify_handle_callback_t)(brawcap_handle_t *const pHandle, const brawcap_adapter_notify_reason_t reason, const UINT32 properties, void *pUser)
The per handle callback for adapter change notifications. It will be called each time a change for th...
Definition: brawcap_types_um.h:418
UINT8 brawcap_adapter_mac_t[BRAWCAP_ADAPTER_MAC_LENGTH]
Fixed size array describing a MAC address.
Definition: brawcap_types_um.h:249
brawcap_adapter_connection_state_t
List of adapter connection states. Values indicating the current adapter connection state (uplink/cab...
Definition: brawcap_types_um.h:306
char brawcap_adapter_name_t[BRAWCAP_ADAPTER_NAME_LENGTH]
Fixed size array containing a adapter name.
Definition: brawcap_types_um.h:257
brawcap_adapter_speed_t
List of bRAWcap adapter speeds. Values indicating the current adapter uplink speed.
Definition: brawcap_types_um.h:287
void(* brawcap_adapter_notify_callback_t)(const brawcap_adapter_name_t name, const brawcap_adapter_notify_reason_t reason, const UINT32 properties, void *pUser)
The general callback for adapter change notifications. It will be called each time a available and su...
Definition: brawcap_types_um.h:400
brawcap_adapter_operation_state_t
List of adapter operation states. Values indicating the current adapter operation state (adapter driv...
Definition: brawcap_types_um.h:317
UINT8 brawcap_adapter_count_t
Type used for counting the available/supported adapters on a machine.
Definition: brawcap_types_um.h:242
#define BRAWCAP_ADAPTER_MAC_LENGTH
Required number of bytes for describing a MAC address. The defined length does not containing any del...
Definition: brawcap_types_um.h:229
brawcap_adapter_notify_reason_t
List of reasons for adapter change notifications. This values indicate why a adapter change notificat...
Definition: brawcap_types_um.h:344
UINT64 brawcap_adapter_mtu_t
Type for handling the adapter maximum transmission unit (MTU).
Definition: brawcap_types_um.h:337
@ BRAWCAP_ADAPTER_PROPERTY_CONNECTION_STATE
Definition: brawcap_types_um.h:380
@ BRAWCAP_ADAPTER_PROPERTY_IPV6
Definition: brawcap_types_um.h:382
@ BRAWCAP_ADAPTER_PROPERTY_OPERATION_STATE
Definition: brawcap_types_um.h:379
@ BRAWCAP_ADAPTER_PROPERTY_RX_SPEED
Definition: brawcap_types_um.h:376
@ BRAWCAP_ADAPTER_PROPERTY_FRIENDLY_NAME
Definition: brawcap_types_um.h:375
@ BRAWCAP_ADAPTER_PROPERTY_IPV4
Definition: brawcap_types_um.h:381
@ BRAWCAP_ADAPTER_PROPERTY_TX_SPEED
Definition: brawcap_types_um.h:377
@ BRAWCAP_ADAPTER_PROPERTY_MTU
Definition: brawcap_types_um.h:378
@ BRAWCAP_ADAPTER_CONNECTION_UP
Definition: brawcap_types_um.h:308
@ BRAWCAP_ADAPTER_CONNECTION_UNKNOWN
Definition: brawcap_types_um.h:307
@ BRAWCAP_ADAPTER_CONNECTION_DOWN
Definition: brawcap_types_um.h:309
@ BRAWCAP_ADAPTER_SPEED_5G
Definition: brawcap_types_um.h:293
@ BRAWCAP_ADAPTER_SPEED_100G
Definition: brawcap_types_um.h:298
@ BRAWCAP_ADAPTER_SPEED_2_5G
Definition: brawcap_types_um.h:292
@ BRAWCAP_ADAPTER_SPEED_10G
Definition: brawcap_types_um.h:294
@ BRAWCAP_ADAPTER_SPEED_100M
Definition: brawcap_types_um.h:290
@ BRAWCAP_ADAPTER_SPEED_40G
Definition: brawcap_types_um.h:296
@ BRAWCAP_ADAPTER_SPEED_10M
Definition: brawcap_types_um.h:289
@ BRAWCAP_ADAPTER_SPEED_25G
Definition: brawcap_types_um.h:295
@ BRAWCAP_ADAPTER_SPEED_UNKNOWN
Definition: brawcap_types_um.h:288
@ BRAWCAP_ADAPTER_SPEED_50G
Definition: brawcap_types_um.h:297
@ BRAWCAP_ADAPTER_SPEED_1G
Definition: brawcap_types_um.h:291
@ BRAWCAP_ADAPTER_OPERATION_DOWN
Definition: brawcap_types_um.h:320
@ BRAWCAP_ADAPTER_OPERATION_UNKNOWN
Definition: brawcap_types_um.h:318
@ BRAWCAP_ADAPTER_OPERATION_TESTING
Definition: brawcap_types_um.h:321
@ BRAWCAP_ADAPTER_OPERATION_UP
Definition: brawcap_types_um.h:319
@ BRAWCAP_ADAPTER_NOTIFY_REASON_PROPERTY_CHANGE
A adapter property has changed. This can have several reasons, for a list of all properties see brawc...
Definition: brawcap_types_um.h:363
@ BRAWCAP_ADAPTER_NOTIFY_REASON_ADD
A new bRAWcap adapter was detected. E.g. due to enabling bRAWcap driver on an adapter where it was di...
Definition: brawcap_types_um.h:353
@ BRAWCAP_ADAPTER_NOTIFY_REASON_REMOVE
A bRAWcap adapter was removed. E.g. due to disabling bRAWcap driver on an adapter where it was enable...
Definition: brawcap_types_um.h:358
@ BRAWCAP_ADAPTER_NOTIFY_REASON_UNKNOWN
The notification reason is unknown.
Definition: brawcap_types_um.h:348
void(* brawcap_rx_callback_t)(brawcap_handle_t *const pHandle, const brawcap_status_t status, brawcap_buffer_t *const pBuffer, void *pUser)
Receive callback which is called each time a receive has finished. Receiving can be started with braw...
Definition: brawcap_types_um.h:471
void(* brawcap_tx_callback_t)(brawcap_handle_t *const pHandle, const brawcap_status_t status, brawcap_buffer_t *const pBuffer, void *pUser)
Transmit callback which is called each time a transmission initiated with brawcap_tx_buffer_send has ...
Definition: brawcap_types_um.h:501
brawcap_log_type_t
List of bRAWcap log types.
Definition: brawcap_types_um.h:129
brawcap_log_level_t
List of bRAWcap log levels.
Definition: brawcap_types_um.h:77
@ BRAWCAP_LOG_TYPE_GENERIC
Generic loggings will be used for everything which has no specific type.
Definition: brawcap_types_um.h:133
@ BRAWCAP_LOG_TYPE_LICENSE
License loggings will be used for anything which relates to licensing.
Definition: brawcap_types_um.h:149
@ BRAWCAP_LOG_TYPE_TRANSMIT
Transmit loggings will be used for anything which relates to transmitting.
Definition: brawcap_types_um.h:145
@ BRAWCAP_LOG_TYPE_ADAPTER
Adapter loggings will be used for anything which relates to the local adapter handling.
Definition: brawcap_types_um.h:137
@ BRAWCAP_LOG_TYPE_RECEIVE
Receive loggings will be used for anything which relates to receiving.
Definition: brawcap_types_um.h:141
@ BRAWCAP_LOG_LEVEL_WARNING
Warning log level will include loggings for unexpected states. This level should never be disabled.
Definition: brawcap_types_um.h:107
@ BRAWCAP_LOG_LEVEL_ERROR
Error log level will include loggings if something went completely wrong and bRAWcap could not solve ...
Definition: brawcap_types_um.h:118
@ BRAWCAP_LOG_LEVEL_DEBUG
Debug log level is for debugging bRAWcap itself only. Therefore it can only be enabled if the applica...
Definition: brawcap_types_um.h:84
@ BRAWCAP_LOG_LEVEL_VERBOSE
Verbose log level will include many informative loggings. Those loggings gives more info why some API...
Definition: brawcap_types_um.h:93
@ BRAWCAP_LOG_LEVEL_NOTICE
Notice log level will include some loggings which gives information of the current bRAWcap state....
Definition: brawcap_types_um.h:100