Provided by: libnetfilter-log-doc_1.0.2-3_all bug

NAME

       nflog_get_msg_packet_hdr, nflog_get_hwtype, nflog_get_msg_packet_hwhdrlen,
       nflog_get_msg_packet_hwhdr, nflog_get_nfmark, nflog_get_timestamp, nflog_get_indev,
       nflog_get_physindev, nflog_get_outdev, nflog_get_physoutdev, nflog_get_packet_hw,
       nflog_get_payload, nflog_get_prefix, nflog_get_uid, nflog_get_gid, nflog_get_seq,
       nflog_get_seq_global, nflog_get_ctid - Message parsing functions

SYNOPSIS

       #include <stddef.h>
       #include <libnetfilter_log/libnetfilter_log.h>

       struct nfulnl_msg_packet_hdr * nflog_get_msg_packet_hdr (struct nflog_data *nfad)
       uint16_t nflog_get_hwtype (struct nflog_data *nfad)
       uint16_t nflog_get_msg_packet_hwhdrlen (struct nflog_data *nfad)
       char * nflog_get_msg_packet_hwhdr (struct nflog_data *nfad)
       uint32_t nflog_get_nfmark (struct nflog_data *nfad)
       int nflog_get_timestamp (struct nflog_data *nfad, struct timeval *tv)
       uint32_t nflog_get_indev (struct nflog_data *nfad)
       uint32_t nflog_get_physindev (struct nflog_data *nfad)
       uint32_t nflog_get_outdev (struct nflog_data *nfad)
       uint32_t nflog_get_physoutdev (struct nflog_data *nfad)
       struct nfulnl_msg_packet_hw * nflog_get_packet_hw (struct nflog_data *nfad)
       int nflog_get_payload (struct nflog_data *nfad, char **data)
       char * nflog_get_prefix (struct nflog_data *nfad)
       int nflog_get_uid (struct nflog_data *nfad, uint32_t *uid)
       int nflog_get_gid (struct nflog_data *nfad, uint32_t *gid)
       int nflog_get_seq (struct nflog_data *nfad, uint32_t *seq)
       int nflog_get_seq_global (struct nflog_data *nfad, uint32_t *seq)
       int nflog_get_ctid (struct nflog_data *nfad, uint32_t *id)

Function Documentation

   int nflog_get_ctid (struct nflog_data * nfad, uint32_t * id)
       nflog_get_ct_id - get the conntrack id

       Parameters
           nfad Netlink packet data handle passed to callback function
           id conntrack id, if the function returns zero

       You must enable this via nflog_set_flags().

       Returns
           0 on success or -1 if conntrack itself or its id was unavailable

   int nflog_get_gid (struct nflog_data * nfad, uint32_t * gid)
       nflog_get_gid - get the GID of the user that has generated the packet

       Parameters
           nfad Netlink packet data handle passed to callback function
           gid GID of the user that generated the packet, if the function returns zero

       Returns
           0 on success or -1 if GID was unavailable (gid is then invalid)

   uint16_t nflog_get_hwtype (struct nflog_data * nfad)
       nflog_get_hwtype - get the hardware link layer type from logging data

       Parameters
           nfad pointer to logging data

       Returns
           the hardware link layer type.

   uint32_t nflog_get_indev (struct nflog_data * nfad)
       nflog_get_indev - get the interface that the packet was received through

       Parameters
           nfad Netlink packet data handle passed to callback function

       Returns
           The index of the device the packet was received via. If the returned index is 0, the
           packet was locally generated or the input interface is not known (ie. POSTROUTING?).

       Warning
           all nflog_get_dev() functions return 0 if not set, since Linux only allows ifindex >=
           1, see net/core/dev.c:9819 (in 5.14.3)

   struct nfulnl_msg_packet_hdr* nflog_get_msg_packet_hdr (struct nflog_data * nfad)
       nflog_get_msg_packet_hdr - return the metaheader that wraps the packet

       Parameters
           nfad Netlink packet data handle passed to callback function

       Returns
           the netfilter log netlink packet header for the given nflog_data argument. Typically,
           the nflog_data value is passed as the 3rd parameter to the callback function set by a
           call to nflog_callback_register().

       The nfulnl_msg_packet_hdr structure is defined in libnetfilter_log.h as:

               struct nfulnl_msg_packet_hdr {
                       uint16_t       hw_protocol;    // hw protocol (network order)
                       uint8_t        hook;           // netfilter hook
                       uint8_t        _pad;
               } __attribute__ ((packed));

   char* nflog_get_msg_packet_hwhdr (struct nflog_data * nfad)
       nflog_get_msg_packet_hwhdr - get the hardware link layer header

       Parameters
           nfad pointer to logging data

       Returns
           the hardware link layer header

   uint16_t nflog_get_msg_packet_hwhdrlen (struct nflog_data * nfad)
       nflog_get_hwhdrlen - get the length of the hardware link layer header

       Parameters
           nfad pointer to logging data

       Returns
           the size of the hardware link layer header

   uint32_t nflog_get_nfmark (struct nflog_data * nfad)
       nflog_get_nfmark - get the packet mark

       Parameters
           nfad Netlink packet data handle passed to callback function

       Returns
           the netfilter mark currently assigned to the logged packet.

   uint32_t nflog_get_outdev (struct nflog_data * nfad)
       nflog_get_outdev - gets the interface that the packet will be routed to

       Parameters
           nfad Netlink packet data handle passed to callback function

       Returns
           The index of the device the packet will be sent to. If the returned index is 0, the
           packet is destined for localhost or the output interface is not yet known (ie.
           PREROUTING?).

   struct nfulnl_msg_packet_hw* nflog_get_packet_hw (struct nflog_data * nfad)
       nflog_get_packet_hw - get hardware address

       Parameters
           nfad Netlink packet data handle passed to callback function

       Retrieves the hardware address associated with the given packet. For ethernet packets, the
       hardware address returned (if any) will be the MAC address of the packet source host. The
       destination MAC address is not known until after POSTROUTING and a successful ARP request,
       so cannot currently be retrieved.

       The nfulnl_msg_packet_hw structure is defined in libnetfilter_log.h as:

               struct nfulnl_msg_packet_hw {
                       uint16_t       hw_addrlen; // Network Byte Order
                       uint16_t       _pad;
                       uint8_t        hw_addr[8];
               } __attribute__ ((packed));

       Returns
           Pointer to struct nfulnl_msg_packet_hw from originating host or NULL if none available
           (e.g. locally-originated packet not for lo interface).

   int nflog_get_payload (struct nflog_data * nfad, char ** data)
       nflog_get_payload - get payload of the logged packet

       Parameters
           nfad Netlink packet data handle passed to callback function
           data Pointer of pointer that will be pointed to the payload

       Retrieve the payload for a logged packet. The actual amount and type of data retrieved by
       this function will depend on the mode set with the nflog_set_mode() function.

       Returns
           payload length, or -1 if this is not available

   uint32_t nflog_get_physindev (struct nflog_data * nfad)
       nflog_get_physindev - get the physical interface that the packet was received through

       Parameters
           nfad Netlink packet data handle passed to callback function

       Returns
           The index of the physical device the packet was received via. If the returned index is
           0, the packet was locally generated or the physical input interface is no longer known
           (ie. POSTROUTING?).

   uint32_t nflog_get_physoutdev (struct nflog_data * nfad)
       nflog_get_physoutdev - get the physical interface for packet output

       Parameters
           nfad Netlink packet data handle passed to callback function

       Returns
           Index of physical device the packet will be routed to. If the returned index is 0, the
           packet is destined for localhost or the physical output interface is not yet known
           (ie. PREROUTING?).

   char* nflog_get_prefix (struct nflog_data * nfad)
       nflog_get_prefix - get the logging string prefix

       Parameters
           nfad Netlink packet data handle passed to callback function

       Returns
           the string prefix that is specified as argument to the iptables' NFLOG target or NULL
           if this is not available.

   int nflog_get_seq (struct nflog_data * nfad, uint32_t * seq)
       nflog_get_seq - get the local nflog sequence number

       Parameters
           nfad Netlink packet data handle passed to callback function
           seq local nflog sequence number, if the function returns zero

       You must enable this via nflog_set_flags().

       Returns
           0 on success or -1 if sequence number was unavailable (seq is then invalid)

   int nflog_get_seq_global (struct nflog_data * nfad, uint32_t * seq)
       nflog_get_seq_global - get the global nflog sequence number

       Parameters
           nfad Netlink packet data handle passed to callback function
           seq global nflog sequence number, if the function returns zero

       You must enable this via nflog_set_flags().

       Returns
           0 on success or -1 if sequence number was unavailable (seq is then invalid)

   int nflog_get_timestamp (struct nflog_data * nfad, struct timeval * tv)
       nflog_get_timestamp - get the packet timestamp

       Parameters
           nfad Netlink packet data handle passed to callback function
           tv structure to fill with timestamp info

       Retrieves the received timestamp from the given logged packet.

       Returns
           0 on success, -1 on failure with errno set.

       Errors
           from underlying calls, in exceptional circumstances

   int nflog_get_uid (struct nflog_data * nfad, uint32_t * uid)
       nflog_get_uid - get the UID of the user that generated the packet

       Parameters
           nfad Netlink packet data handle passed to callback function
           uid UID of the user that generated the packet, if the function returns zero

       Returns
           0 on success or -1 if UID was unavailable (uid is then invalid)

Author

       Generated automatically by Doxygen for libnetfilter_log from the source code.