IPQ_CREATE_HANDLE(3)

NAME
ipq_create_handle, ipq_destroy_handle - create and destroy libipq handles.

SYNOPSIS
#include <linux/netfilter.h>
#include <libipq.h>

struct ipq_handle *ipq_create_handle(u_int32_t flags, u_int32_t protocol);
int ipq_destroy_handle(struct ipq_handle *h);

DESCRIPTION
The ipq_create_handle function initialises libipq for an application, attempts to bind to the Netlink socket used by ip_queue, and returns an opaque context handle. It should be the first libipq function to be called by an application. The handle returned should be used in all subsequent library calls which require a handle parameter.

The flags parameter is not currently used and should be set to zero by the application for forward compatibility.

The protocol parameter is used to specify the protocol of the packets to be queued. Valid values are PF_INET for IPv4 and PF_INET6 for IPv6. Currently, only one protocol may be queued at a time for a handle.

The ipq_destroy_handle function frees up resources allocated by ipq_create_handle, and should be used when the handle is no longer required by the application.

RETURN VALUES
On success, ipq_create_handle returns a pointer to a context handle.
On failure, NULL is returned.

On success, ipq_destroy_handle returns zero.
On failure, -1 is returned.

ERRORS
On failure, a descriptive error message will be available via the ipq_errstr function.

BUGS
None known.

AUTHOR
James Morris <jmorris@intercode.com.au>

COPYRIGHT
Copyright (c) 2000-2001 Netfilter Core Team.

Distributed under the GNU General Public License.

SEE ALSO
iptables(8), libipq(3).