1IPQ_READ(3)                Linux Programmer's Manual               IPQ_READ(3)
2
3
4

NAME

6       ipq_read  —  read  queue  messages from ip_queue and read into supplied
7       buffer
8

SYNOPSIS

10       #include <linux/netfilter.h>
11       #include <libipq.h>
12
13       ssize_t ipq_read(const struct ipq_handle *h, unsigned char *buf, size_t
14       len, int timeout);
15

DESCRIPTION

17       The  ipq_read function reads a queue message from the kernel and copies
18       it to the memory pointed to by buf to a maximum length of len.
19
20       The h parameter is a context handle which  must  previously  have  been
21       returned successfully from a call to ipq_create_handle.
22
23       The  caller  is  responsible for ensuring that the memory pointed to by
24       buf is large enough to contain len bytes.
25
26       The timeout parameter may be used to set a timeout for  the  operation,
27       specified  in  microseconds.   This  is  implemented  internally by the
28       library via the select system call.  A value of zero  provides  normal,
29       backwards-compatible  blocking  behaviour  with no timeout.  A negative
30       value causes the function to return immediately.
31
32       Data returned via  buf  should  not  be  accessed  directly.   Use  the
33       ipq_message_type,   ipq_get_packet,  and  ipq_get_msgerr  functions  to
34       access the queue message in the buffer.
35

RETURN VALUE

37       On failure, -1 is returned.
38       On success, a non-zero positive value is returned when no timeout value
39       is specified.
40       On  success with a timeout value specified, zero is returned if no data
41       was available to read, or if a non-blocked signal was caught.   In  the
42       latter case, the global errno value will be set to EINTR.
43

ERRORS

45       On  error,  a  descriptive  error  message  will  be  available via the
46       ipq_errstr function.
47

DIAGNOSTICS

49       While the ipq_read function may return successfully, the queue  message
50       copied to the buffer may itself be an error message from a higher level
51       kernel component.  Use ipq_message_type to determine if it is an  error
52       message, and ipq_get_msgerr to access the value of the message.
53

BUGS

55       None known.
56

AUTHOR

58       James Morris <jmorris@intercode.com.au>
59
61       Copyright (c) 2000-2001 Netfilter Core Team.
62
63       Distributed under the GNU General Public License.
64

CREDITS

66       Joost  Remijn  implemented  the  timeout feature, which appeared in the
67       1.2.4 release of iptables.
68

SEE ALSO

70       iptables(8), libipq(3), select(2).
71
72
73
74
75Linux iptables 1.2              16 October 2001                    IPQ_READ(3)
Impressum