The library provides a number of other functions which many user-space programs will never need. These divide into 2 groups:
- Functions to get values of members of opaque struct pktbuff, described below
- Internal functions, described in Module Internal functions
◆ pktb_mac_header()
uint8_t* pktb_mac_header |
( |
struct pkt_buff * |
pktb | ) |
|
pktb_mac_header - get address of layer 2 header (if any)
- Parameters
-
pktb | Pointer to userspace packet buffer |
- Returns
- Pointer to MAC header or NULL if no such header present.
Only packet buffers in family AF_BRIDGE have a non-NULL MAC header.
Definition at line 233 of file pktbuff.c.
◆ pktb_network_header()
uint8_t* pktb_network_header |
( |
struct pkt_buff * |
pktb | ) |
|
pktb_network_header - get address of layer 3 header
- Parameters
-
pktb | Pointer to userspace packet buffer |
- Returns
- Pointer to layer 3 header or NULL if the packet buffer was created with an unsupported family
Definition at line 245 of file pktbuff.c.
◆ pktb_tailroom()
unsigned int pktb_tailroom |
( |
struct pkt_buff * |
pktb | ) |
|
pktb_tailroom - get room available for packet expansion
- Parameters
-
pktb | Pointer to userspace packet buffer |
- Returns
- room in bytes after the tail of the packet buffer
This starts off as the extra argument to pktb_alloc(). Programmers should ensure this extra argument is sufficient for any packet mangle, as packet buffers cannot be expanded dynamically.
Definition at line 220 of file pktbuff.c.
◆ pktb_transport_header()
uint8_t* pktb_transport_header |
( |
struct pkt_buff * |
pktb | ) |
|
pktb_transport_header - get address of layer 4 header (if known)
- Parameters
-
pktb | Pointer to userspace packet buffer |
- Returns
- Pointer to layer 4 header or NULL if not (yet) set
- Note
- Unlike the lower-level headers, it is the programmer's responsibility to create the level 4 (transport) header pointer by caling e.g. nfq_ip_set_transport_header()
Definition at line 260 of file pktbuff.c.