tcp(3)

NAME
tcp - TCP helper functions

SYNOPSIS

  Topics

Internal TCP functions

  Functions

struct tcphdr * nfq_tcp_get_hdr (struct pkt_buff *pktb)
void * nfq_tcp_get_payload (struct tcphdr *tcph, struct pkt_buff *pktb)
unsigned int nfq_tcp_get_payload_len (struct tcphdr *tcph, struct pkt_buff *pktb)
int nfq_tcp_snprintf (char *buf, size_t size, const struct tcphdr *tcph)
int nfq_tcp_mangle_ipv4 (struct pkt_buff *pktb, unsigned int match_offset, unsigned int match_len, const char *rep_buffer, unsigned int rep_len)
int nfq_tcp_mangle_ipv6 (struct pkt_buff *pktb, unsigned int match_offset, unsigned int match_len, const char *rep_buffer, unsigned int rep_len)

Detailed Description

Function Documentation

  struct tcphdr * nfq_tcp_get_hdr (struct pkt_buff * pktb)
nfq_tcp_get_hdr - get the TCP header

Parameters
    pktb pointer to user-space network packet buffer

Returns
    validated pointer to the TCP header or NULL if the TCP header was not set or if a minimal length check fails.

Note
    You have to call nfq_ip_set_transport_header() or nfq_ip6_set_transport_header() first to set the TCP header.

Definition at line 43 of file tcp.c.

  void * nfq_tcp_get_payload (struct tcphdr * tcph, struct pkt_buff * pktb)
nfq_tcp_get_payload - get the TCP packet payload

Parameters
    tcph pointer to the TCP header
    pktb pointer to user-space network packet buffer

Returns
    Pointer to the TCP payload, or NULL if malformed TCP packet.

Definition at line 62 of file tcp.c.

  unsigned int nfq_tcp_get_payload_len (struct tcphdr * tcph, struct pkt_buff * pktb)
nfq_tcp_get_payload_len - get the tcp packet payload

Parameters
    tcph pointer to the TCP header
    pktb pointer to user-space network packet buffer

Returns
    Length of TCP payload (user data)

Definition at line 84 of file tcp.c.

  int nfq_tcp_mangle_ipv4 (struct pkt_buff * pktb, unsigned int match_offset, unsigned int match_len, const char * rep_buffer, unsigned int rep_len)
nfq_tcp_mangle_ipv4 - mangle TCP/IPv4 packet buffer

Parameters
    pktb pointer to network packet buffer
    match_offset offset to content that you want to mangle
    match_len length of the existing content you want to mangle
    rep_buffer pointer to data you want to use to replace current content
    rep_len length of data you want to use to replace current content

Returns
    1 for success and 0 for failure. See pktb_mangle() for failure case

Note
    This function updates the IPv4 length and recalculates the IPv4 & TCP checksums for you.

Warning
    After changing the length of a TCP message, the application will need to mangle sequence numbers in both directions until another change puts them in sync again

Definition at line 219 of file tcp.c.

  int nfq_tcp_mangle_ipv6 (struct pkt_buff * pktb, unsigned int match_offset, unsigned int match_len, const char * rep_buffer, unsigned int rep_len)
nfq_tcp_mangle_ipv6 - Mangle TCP/IPv6 packet buffer

Parameters
    pktb Pointer to network packet buffer
    match_offset Offset from start of TCP data of content that you want to mangle
    match_len Length of the existing content you want to mangle
    rep_buffer Pointer to data you want to use to replace current content
    rep_len Length of data you want to use to replace current content

Returns
    1 for success and 0 for failure. See pktb_mangle() for failure case

Note
    This function updates the IPv6 length and recalculates the TCP checksum for you.

Warning
    After changing the length of a TCP message, the application will need to mangle sequence numbers in both directions until another change puts them in sync again

Definition at line 254 of file tcp.c.

  int nfq_tcp_snprintf (char * buf, size_t size, const struct tcphdr * tcph)
nfq_pkt_snprintf_tcp_hdr - print tcp header into one buffer in a humnan readable way

Parameters
    buf pointer to buffer that is used to print the object
    size size of the buffer (or remaining room in it).
    tcph pointer to a valid tcp header.

Returns
    Same as snprintf

See also
    snprintf(3)

Definition at line 160 of file tcp.c.

Author

Generated automatically by Doxygen for libnetfilter_queue from the source code.