libnetfilter_queue  1.0.5
Modules | Functions
Collaboration diagram for Other functions:

Modules

 Internal functions
 

Functions

unsigned int pktb_tailroom (struct pkt_buff *pktb)
 
uint8_t * pktb_mac_header (struct pkt_buff *pktb)
 
uint8_t * pktb_network_header (struct pkt_buff *pktb)
 
uint8_t * pktb_transport_header (struct pkt_buff *pktb)
 

Detailed Description

The library provides a number of other functions which many user-space programs will never need. These divide into 2 groups:

  1. Functions to get values of members of opaque struct pktbuff, described below
  2. Internal functions, described in Module Internal functions

Function Documentation

◆ pktb_mac_header()

uint8_t* pktb_mac_header ( struct pkt_buff *  pktb)

pktb_mac_header - get address of layer 2 header (if any)

Parameters
pktbPointer 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
pktbPointer 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
pktbPointer 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
pktbPointer 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.