Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ipq_destroy_handle(3) [debian man page]

IPQ_CREATE_HANDLE(3)					     Linux Programmer's Manual					      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 NFPROTO_IPV4 for IPv4 and NFPROTO_IPV6 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). Linux iptables 1.2 16 October 2001 IPQ_CREATE_HANDLE(3)

Check Out this Related Man Page

IPQ_SET_MODE(3) 					     Linux Programmer's Manual						   IPQ_SET_MODE(3)

NAME
ipq_set_mode -- set the ip_queue queuing mode SYNOPSIS
#include <linux/netfilter.h> #include <libipq.h> int ipq_set_mode(const struct ipq_handle *h, u_int8_t mode, size_t range); DESCRIPTION
The ipq_set_mode function sends a message to the kernel ip_queue module, specifying whether packet metadata only, or packet payloads as well as metadata should be copied to userspace. The h parameter is a context handle which must previously have been returned successfully from a call to ipq_create_handle. The mode parameter must be one of: IPQ_COPY_META Copy only packet metadata to userspace. IPQ_COPY_PACKET Copy packet metadata and packet payloads to userspace. The range parameter is used to specify how many bytes of the payload to copy to userspace. It is only valid for IPQ_COPY_PACKET mode and is otherwise ignored. The maximum useful value for range is 65535 (greater values will be clamped to this by ip_queue). ipq_set_mode is usually used immediately following ipq_create_handle to enable the flow of packets to userspace. Note that as the underlying Netlink messaging transport is connectionless, the ip_queue module does not know that a userspace application is ready to communicate until it receives a message such as this. RETURN VALUE
On failure, -1 is returned. On success, a non-zero positive value is returned. ERRORS
On failure, a descriptive error message will be available via the ipq_errstr function. DIAGNOSTICS
A relatively common failure may occur if the ip_queue module is not loaded. In this case, the following code excerpt: status = ipq_set_mode(h, IPQ_COPY_META, 0); if (status < 0) { ipq_perror("myapp"); ipq_destroy_handle(h); exit(1); } would generate the following output: myapp: Failed to send netlink message: Connection refused 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
libipq(3), iptables(8). Linux iptables 1.2 16 October 2001 IPQ_SET_MODE(3)
Man Page