Other functions
User-space network packet buffer
Collaboration diagram for Other functions:

## Topics

| 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

  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.