19#ifndef BRAWCAP_TYPES_UM_H
20#define BRAWCAP_TYPES_UM_H
36#define _BRAWCAP_DEPRECATED __declspec(deprecated)
46 #define _BRAWCAP_API_FUNC(returnType) __declspec(dllexport) returnType __cdecl
51 #define _BRAWCAP_API_FUNC(returnType) __declspec(dllimport) returnType __cdecl
82typedef enum _brawcap_log_level
134typedef enum _brawcap_log_type
162 BRAWCAP_LOG_TYPE_ALL = 0xFFFF
221typedef enum brawcap_buffer_sort_order
233typedef enum brawcap_buffer_sort_types
243typedef enum brawcap_buffer_sort_endian_e
273#define BRAWCAP_ADAPTER_MAC_LENGTH 6
281#define BRAWCAP_ADAPTER_NAME_LENGTH 40
306typedef union _brawcap_adapter_ipv4
316typedef union _brawcap_adapter_ipv6
330typedef enum _brawcap_adapter_speed
349typedef enum _brawcap_adapter_connection_state
360typedef enum _brawcap_adapter_operation_state
387typedef enum _brawcap_adapter_notify_reason
417typedef enum _brawcap_adapter_properties
484#define BRAWCAP_RX_BUFFERS_PER_HANDLE_MAX 2
563#define BRAWCAP_ENV_VAR "BRAWCAP"
bRAWcap API - Shared types.
struct _brawcap_handle brawcap_handle_t
A bRAWcap handle.
Definition: brawcap_types_um.h:184
brawcap_status_t
bRAWcap status/return codes.
Definition: brawcap_types_shared.h:140
struct _brawcap_buffer brawcap_buffer_t
bRAWcap packet buffer object.
Definition: brawcap_types_shared.h:746
brawcap_buffer_sort_order_t
Buffer sort order.
Definition: brawcap_types_um.h:222
brawcap_buffer_sort_types_t
Buffer sort types.
Definition: brawcap_types_um.h:234
brawcap_buffer_sort_endian_t
Byte order selection for payload sorting.
Definition: brawcap_types_um.h:244
@ BRAWCAP_BUFFER_SORT_ORDER_NONE
No sort order.
Definition: brawcap_types_um.h:223
@ BRAWCAP_BUFFER_SORT_ORDER_RISING
Rising sort order.
Definition: brawcap_types_um.h:224
@ BRAWCAP_BUFFER_SORT_ORDER_FALLING
Falling sort order.
Definition: brawcap_types_um.h:225
@ BRAWCAP_BUFFER_SORT_TYPE_PAYLOAD
Definition: brawcap_types_um.h:237
@ BRAWCAP_BUFFER_SORT_TYPE_TIMESTAMP
Definition: brawcap_types_um.h:236
@ BRAWCAP_BUFFER_SORT_TYPE_NONE
Definition: brawcap_types_um.h:235
@ BRAWCAP_BUFFER_SORT_ENDIAN_BIG
Definition: brawcap_types_um.h:245
@ BRAWCAP_BUFFER_SORT_ENDIAN_LITTLE
Definition: brawcap_types_um.h:246
IPv4 address.
Definition: brawcap_types_um.h:307
IPv6 address.
Definition: brawcap_types_um.h:317
UINT32 addr
Definition: brawcap_types_um.h:310
#define BRAWCAP_ADAPTER_NAME_LENGTH
The max supported length for an adapter name.
Definition: brawcap_types_um.h:281
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:418
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:456
UINT8 brawcap_adapter_mac_t[BRAWCAP_ADAPTER_MAC_LENGTH]
Fixed size array describing a MAC address.
Definition: brawcap_types_um.h:293
brawcap_adapter_connection_state_t
List of adapter connection states. Values indicating the current adapter connection state (uplink/cab...
Definition: brawcap_types_um.h:350
char brawcap_adapter_name_t[BRAWCAP_ADAPTER_NAME_LENGTH]
Fixed size array containing a adapter name.
Definition: brawcap_types_um.h:301
brawcap_adapter_speed_t
List of bRAWcap adapter speeds. Values indicating the current adapter uplink speed.
Definition: brawcap_types_um.h:331
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:441
brawcap_adapter_operation_state_t
List of adapter operation states. Values indicating the current adapter operation state (adapter driv...
Definition: brawcap_types_um.h:361
UINT8 brawcap_adapter_count_t
Type used for counting the available/supported adapters on a machine.
Definition: brawcap_types_um.h:286
#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:273
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:388
UINT64 brawcap_adapter_mtu_t
Type for handling the adapter maximum transmission unit (MTU).
Definition: brawcap_types_um.h:381
@ BRAWCAP_ADAPTER_PROPERTY_CONNECTION_STATE
Definition: brawcap_types_um.h:424
@ BRAWCAP_ADAPTER_PROPERTY_IPV6
Definition: brawcap_types_um.h:426
@ BRAWCAP_ADAPTER_PROPERTY_OPERATION_STATE
Definition: brawcap_types_um.h:423
@ BRAWCAP_ADAPTER_PROPERTY_RX_SPEED
Definition: brawcap_types_um.h:420
@ BRAWCAP_ADAPTER_PROPERTY_FRIENDLY_NAME
Definition: brawcap_types_um.h:419
@ BRAWCAP_ADAPTER_PROPERTY_IPV4
Definition: brawcap_types_um.h:425
@ BRAWCAP_ADAPTER_PROPERTY_TX_SPEED
Definition: brawcap_types_um.h:421
@ BRAWCAP_ADAPTER_PROPERTY_MTU
Definition: brawcap_types_um.h:422
@ BRAWCAP_ADAPTER_CONNECTION_UP
Definition: brawcap_types_um.h:352
@ BRAWCAP_ADAPTER_CONNECTION_UNKNOWN
Definition: brawcap_types_um.h:351
@ BRAWCAP_ADAPTER_CONNECTION_DOWN
Definition: brawcap_types_um.h:353
@ BRAWCAP_ADAPTER_SPEED_5G
Definition: brawcap_types_um.h:337
@ BRAWCAP_ADAPTER_SPEED_100G
Definition: brawcap_types_um.h:342
@ BRAWCAP_ADAPTER_SPEED_2_5G
Definition: brawcap_types_um.h:336
@ BRAWCAP_ADAPTER_SPEED_10G
Definition: brawcap_types_um.h:338
@ BRAWCAP_ADAPTER_SPEED_100M
Definition: brawcap_types_um.h:334
@ BRAWCAP_ADAPTER_SPEED_40G
Definition: brawcap_types_um.h:340
@ BRAWCAP_ADAPTER_SPEED_10M
Definition: brawcap_types_um.h:333
@ BRAWCAP_ADAPTER_SPEED_25G
Definition: brawcap_types_um.h:339
@ BRAWCAP_ADAPTER_SPEED_UNKNOWN
Definition: brawcap_types_um.h:332
@ BRAWCAP_ADAPTER_SPEED_50G
Definition: brawcap_types_um.h:341
@ BRAWCAP_ADAPTER_SPEED_1G
Definition: brawcap_types_um.h:335
@ BRAWCAP_ADAPTER_OPERATION_DOWN
Definition: brawcap_types_um.h:364
@ BRAWCAP_ADAPTER_OPERATION_UNKNOWN
Definition: brawcap_types_um.h:362
@ BRAWCAP_ADAPTER_OPERATION_TESTING
Definition: brawcap_types_um.h:365
@ BRAWCAP_ADAPTER_OPERATION_UP
Definition: brawcap_types_um.h:363
@ 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:407
@ 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:397
@ 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:402
@ BRAWCAP_ADAPTER_NOTIFY_REASON_UNKNOWN
The notification reason is unknown.
Definition: brawcap_types_um.h:392
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:506
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:533
brawcap_log_type_t
List of bRAWcap log types.
Definition: brawcap_types_um.h:135
brawcap_log_level_t
List of bRAWcap log levels.
Definition: brawcap_types_um.h:83
@ BRAWCAP_LOG_TYPE_GENERIC
Generic loggings will be used for everything which has no specific type.
Definition: brawcap_types_um.h:139
@ BRAWCAP_LOG_TYPE_PCAP
PCAP loggings will be used for anything which relates to libpcap/WinPcap/Npcap.
Definition: brawcap_types_um.h:160
@ BRAWCAP_LOG_TYPE_LICENSE
License loggings will be used for anything which relates to licensing.
Definition: brawcap_types_um.h:155
@ BRAWCAP_LOG_TYPE_TRANSMIT
Transmit loggings will be used for anything which relates to transmitting.
Definition: brawcap_types_um.h:151
@ BRAWCAP_LOG_TYPE_ADAPTER
Adapter loggings will be used for anything which relates to the local adapter handling.
Definition: brawcap_types_um.h:143
@ BRAWCAP_LOG_TYPE_RECEIVE
Receive loggings will be used for anything which relates to receiving.
Definition: brawcap_types_um.h:147
@ BRAWCAP_LOG_LEVEL_WARNING
Warning log level will include loggings for unexpected states. This level should never be disabled.
Definition: brawcap_types_um.h:113
@ 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:124
@ 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:90
@ 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:99
@ BRAWCAP_LOG_LEVEL_NOTICE
Notice log level will include some loggings which gives information of the current bRAWcap state....
Definition: brawcap_types_um.h:106