From: Arne Fitzenreiter Date: Sun, 29 Jul 2012 14:28:12 +0000 (+0200) Subject: iptables: update to 1.4.14. X-Git-Tag: v2.13-beta1~325 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=df1374700091096fcf75a2560e4894e9a8752e8b;p=people%2Fstevee%2Fipfire-2.x.git iptables: update to 1.4.14. --- diff --git a/config/rootfiles/common/iptables b/config/rootfiles/common/iptables index 8e1a6e46fb..e958a9309b 100644 --- a/config/rootfiles/common/iptables +++ b/config/rootfiles/common/iptables @@ -1,21 +1,27 @@ #lib/libip4tc.la lib/libip4tc.so lib/libip4tc.so.0 -lib/libip4tc.so.0.0.0 +lib/libip4tc.so.0.1.0 #lib/libip6tc.la lib/libip6tc.so lib/libip6tc.so.0 -lib/libip6tc.so.0.0.0 -#lib/libipq.a +lib/libip6tc.so.0.1.0 +#lib/libipq.la +lib/libipq.so +lib/libipq.so.0 +lib/libipq.so.0.0.0 #lib/libiptc.la lib/libiptc.so lib/libiptc.so.0 lib/libiptc.so.0.0.0 #lib/libxtables.la lib/libxtables.so -lib/libxtables.so.4 -lib/libxtables.so.4.0.0 +lib/libxtables.so.7 +lib/libxtables.so.7.0.0 #lib/pkgconfig +#lib/pkgconfig/libip4tc.pc +#lib/pkgconfig/libip6tc.pc +#lib/pkgconfig/libipq.pc #lib/pkgconfig/libiptc.pc #lib/pkgconfig/xtables.pc lib/xtables @@ -42,52 +48,62 @@ lib/xtables #lib/xtables/libipt_REDIRECT.so #lib/xtables/libipt_REJECT.so #lib/xtables/libipt_SAME.so -#lib/xtables/libipt_SET.so #lib/xtables/libipt_SNAT.so #lib/xtables/libipt_TTL.so #lib/xtables/libipt_ULOG.so -#lib/xtables/libipt_addrtype.so #lib/xtables/libipt_ah.so -#lib/xtables/libipt_ecn.so #lib/xtables/libipt_icmp.so #lib/xtables/libipt_ipp2p.so #lib/xtables/libipt_realm.so -#lib/xtables/libipt_set.so #lib/xtables/libipt_ttl.so #lib/xtables/libipt_unclean.so +#lib/xtables/libxt_AUDIT.so +#lib/xtables/libxt_CHECKSUM.so #lib/xtables/libxt_CLASSIFY.so #lib/xtables/libxt_CONNMARK.so #lib/xtables/libxt_CONNSECMARK.so +#lib/xtables/libxt_CT.so #lib/xtables/libxt_DSCP.so +#lib/xtables/libxt_IDLETIMER.so #lib/xtables/libxt_IMQ.so +#lib/xtables/libxt_LED.so #lib/xtables/libxt_MARK.so #lib/xtables/libxt_NFLOG.so #lib/xtables/libxt_NFQUEUE.so #lib/xtables/libxt_NOTRACK.so #lib/xtables/libxt_RATEEST.so #lib/xtables/libxt_SECMARK.so +#lib/xtables/libxt_SET.so #lib/xtables/libxt_TCPMSS.so #lib/xtables/libxt_TCPOPTSTRIP.so +#lib/xtables/libxt_TEE.so #lib/xtables/libxt_TOS.so #lib/xtables/libxt_TPROXY.so #lib/xtables/libxt_TRACE.so +#lib/xtables/libxt_addrtype.so #lib/xtables/libxt_cluster.so #lib/xtables/libxt_comment.so #lib/xtables/libxt_connbytes.so #lib/xtables/libxt_connlimit.so #lib/xtables/libxt_connmark.so #lib/xtables/libxt_conntrack.so +#lib/xtables/libxt_cpu.so +#lib/xtables/libxt_dccp.so +#lib/xtables/libxt_devgroup.so #lib/xtables/libxt_dscp.so +#lib/xtables/libxt_ecn.so #lib/xtables/libxt_esp.so #lib/xtables/libxt_hashlimit.so #lib/xtables/libxt_helper.so #lib/xtables/libxt_iprange.so +#lib/xtables/libxt_ipvs.so #lib/xtables/libxt_layer7.so #lib/xtables/libxt_length.so #lib/xtables/libxt_limit.so #lib/xtables/libxt_mac.so #lib/xtables/libxt_mark.so #lib/xtables/libxt_multiport.so +#lib/xtables/libxt_nfacct.so #lib/xtables/libxt_osf.so #lib/xtables/libxt_owner.so #lib/xtables/libxt_physdev.so @@ -96,7 +112,9 @@ lib/xtables #lib/xtables/libxt_quota.so #lib/xtables/libxt_rateest.so #lib/xtables/libxt_recent.so +#lib/xtables/libxt_rpfilter.so #lib/xtables/libxt_sctp.so +#lib/xtables/libxt_set.so #lib/xtables/libxt_socket.so #lib/xtables/libxt_standard.so #lib/xtables/libxt_state.so @@ -108,18 +126,14 @@ lib/xtables #lib/xtables/libxt_tos.so #lib/xtables/libxt_u32.so #lib/xtables/libxt_udp.so -#sbin/ip6tables -#sbin/ip6tables-multi -#sbin/ip6tables-restore -#sbin/ip6tables-save +sbin/ip6tables +sbin/ip6tables-restore +sbin/ip6tables-save sbin/iptables -sbin/iptables-multi -#sbin/iptables-restore -#sbin/iptables-save -#sbin/iptables-xml -#usr/include/asm-generic -#usr/include/asm-generic/errno-base.h -#usr/include/asm-generic/errno.h +sbin/iptables-restore +sbin/iptables-save +sbin/iptables-xml +sbin/xtables-multi #usr/include/iptables #usr/include/iptables.h #usr/include/iptables/internal.h @@ -129,6 +143,7 @@ sbin/iptables-multi #usr/include/libiptc/libip6tc.h #usr/include/libiptc/libiptc.h #usr/include/libiptc/libxtc.h +#usr/include/libiptc/xtcshared.h #usr/include/libipulog #usr/include/libipulog/libipulog.h #usr/include/libnetfilter_queue @@ -139,12 +154,9 @@ sbin/iptables-multi #usr/include/libnfnetlink/libnfnetlink.h #usr/include/libnfnetlink/linux_nfnetlink.h #usr/include/libnfnetlink/linux_nfnetlink_compat.h -#usr/include/linux/netfilter #usr/include/linux/netfilter/Kbuild #usr/include/linux/netfilter/nf_conntrack_amanda.h -#usr/include/linux/netfilter/nf_conntrack_common.h #usr/include/linux/netfilter/nf_conntrack_dccp.h -#usr/include/linux/netfilter/nf_conntrack_ftp.h #usr/include/linux/netfilter/nf_conntrack_h323.h #usr/include/linux/netfilter/nf_conntrack_h323_asn1.h #usr/include/linux/netfilter/nf_conntrack_h323_types.h @@ -152,67 +164,11 @@ sbin/iptables-multi #usr/include/linux/netfilter/nf_conntrack_pptp.h #usr/include/linux/netfilter/nf_conntrack_proto_gre.h #usr/include/linux/netfilter/nf_conntrack_sane.h -#usr/include/linux/netfilter/nf_conntrack_sctp.h #usr/include/linux/netfilter/nf_conntrack_sip.h -#usr/include/linux/netfilter/nf_conntrack_tcp.h #usr/include/linux/netfilter/nf_conntrack_tftp.h -#usr/include/linux/netfilter/nf_conntrack_tuple_common.h -#usr/include/linux/netfilter/nfnetlink.h -#usr/include/linux/netfilter/nfnetlink_compat.h -#usr/include/linux/netfilter/nfnetlink_conntrack.h -#usr/include/linux/netfilter/nfnetlink_log.h -#usr/include/linux/netfilter/nfnetlink_queue.h -#usr/include/linux/netfilter/x_tables.h -#usr/include/linux/netfilter/xt_CLASSIFY.h -#usr/include/linux/netfilter/xt_CONNMARK.h -#usr/include/linux/netfilter/xt_CONNSECMARK.h -#usr/include/linux/netfilter/xt_DSCP.h #usr/include/linux/netfilter/xt_IMQ.h -#usr/include/linux/netfilter/xt_LED.h -#usr/include/linux/netfilter/xt_MARK.h -#usr/include/linux/netfilter/xt_NFLOG.h -#usr/include/linux/netfilter/xt_NFQUEUE.h -#usr/include/linux/netfilter/xt_RATEEST.h -#usr/include/linux/netfilter/xt_SECMARK.h -#usr/include/linux/netfilter/xt_TCPMSS.h -#usr/include/linux/netfilter/xt_TCPOPTSTRIP.h -#usr/include/linux/netfilter/xt_TPROXY.h -#usr/include/linux/netfilter/xt_cluster.h -#usr/include/linux/netfilter/xt_comment.h -#usr/include/linux/netfilter/xt_connbytes.h -#usr/include/linux/netfilter/xt_connlimit.h -#usr/include/linux/netfilter/xt_connmark.h -#usr/include/linux/netfilter/xt_conntrack.h -#usr/include/linux/netfilter/xt_dccp.h -#usr/include/linux/netfilter/xt_dscp.h -#usr/include/linux/netfilter/xt_esp.h -#usr/include/linux/netfilter/xt_hashlimit.h -#usr/include/linux/netfilter/xt_helper.h -#usr/include/linux/netfilter/xt_iprange.h #usr/include/linux/netfilter/xt_layer7.h -#usr/include/linux/netfilter/xt_length.h -#usr/include/linux/netfilter/xt_limit.h -#usr/include/linux/netfilter/xt_mac.h -#usr/include/linux/netfilter/xt_mark.h -#usr/include/linux/netfilter/xt_multiport.h -#usr/include/linux/netfilter/xt_osf.h -#usr/include/linux/netfilter/xt_owner.h -#usr/include/linux/netfilter/xt_physdev.h -#usr/include/linux/netfilter/xt_pkttype.h -#usr/include/linux/netfilter/xt_policy.h -#usr/include/linux/netfilter/xt_quota.h -#usr/include/linux/netfilter/xt_rateest.h -#usr/include/linux/netfilter/xt_realm.h -#usr/include/linux/netfilter/xt_recent.h -#usr/include/linux/netfilter/xt_sctp.h #usr/include/linux/netfilter/xt_socket.h -#usr/include/linux/netfilter/xt_state.h -#usr/include/linux/netfilter/xt_statistic.h -#usr/include/linux/netfilter/xt_string.h -#usr/include/linux/netfilter/xt_tcpmss.h -#usr/include/linux/netfilter/xt_tcpudp.h -#usr/include/linux/netfilter/xt_time.h -#usr/include/linux/netfilter/xt_u32.h #usr/include/net/netfilter #usr/include/net/netfilter/nf_conntrack_tuple.h #usr/include/net/netfilter/nf_nat.h @@ -234,6 +190,7 @@ usr/lib/libnfnetlink.so.0 usr/lib/libnfnetlink.so.0.2.0 #usr/lib/pkgconfig/libnetfilter_queue.pc #usr/lib/pkgconfig/libnfnetlink.pc +#usr/share/man/man1/iptables-xml.1 #usr/share/man/man3/ipq_create_handle.3 #usr/share/man/man3/ipq_destroy_handle.3 #usr/share/man/man3/ipq_errstr.3 @@ -250,5 +207,4 @@ usr/lib/libnfnetlink.so.0.2.0 #usr/share/man/man8/ip6tables.8 #usr/share/man/man8/iptables-restore.8 #usr/share/man/man8/iptables-save.8 -#usr/share/man/man8/iptables-xml.8 #usr/share/man/man8/iptables.8 diff --git a/lfs/iptables b/lfs/iptables index 6d369909bc..33a00e4a4e 100644 --- a/lfs/iptables +++ b/lfs/iptables @@ -24,7 +24,7 @@ include Config -VER = 1.4.6 +VER = 1.4.14 THISAPP = iptables-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -45,7 +45,7 @@ netfilter-layer7-v2.22.tar.gz = $(URL_IPFIRE)/netfilter-layer7-v2.22.tar.gz libnfnetlink-1.0.0.tar.bz2 = $(URL_IPFIRE)/libnfnetlink-1.0.0.tar.bz2 libnetfilter_queue-0.0.17.tar.bz2 = $(URL_IPFIRE)/libnetfilter_queue-0.0.17.tar.bz2 -$(DL_FILE)_MD5 = c67cf30e281a924def6426be0973df56 +$(DL_FILE)_MD5 = 5ab24ad683f76689cfe7e0c73f44855d netfilter-layer7-v2.22.tar.gz_MD5 = 98dff8a3d5a31885b73341633f69501f libnfnetlink-1.0.0.tar.bz2_MD5 = 016fdec8389242615024c529acc1adb8 libnetfilter_queue-0.0.17.tar.bz2_MD5 = 2cde35e678ead3a8f9eb896bf807a159 @@ -89,11 +89,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) ./extensions/ # ipp2p 0.8.2-pomng - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/iptables-1.4.6-ipp2p-0.8.2-pomng.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/iptables-1.4.14-ipp2p-0.8.2-ipfire.patch # imq - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/iptables-1.4.6-imq_test1.patch - chmod +x $(DIR_APP)/extensions/.IMQ-test* + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/iptables-1.4.12-IMQ-test4.diff +# chmod +x $(DIR_APP)/extensions/.IMQ-test* cd $(DIR_APP) && ./configure --prefix=/usr --with-ksource=/usr/src/linux \ --libdir=/lib --includedir=/usr/include --enable-libipq \ diff --git a/src/patches/iptables-1.4.6-imq_test1.patch b/src/patches/iptables-1.4.12-IMQ-test4.diff similarity index 60% rename from src/patches/iptables-1.4.6-imq_test1.patch rename to src/patches/iptables-1.4.12-IMQ-test4.diff index 2b4fb79cb0..5ce17e1b45 100644 --- a/src/patches/iptables-1.4.6-imq_test1.patch +++ b/src/patches/iptables-1.4.12-IMQ-test4.diff @@ -1,14 +1,7 @@ -diff -Naurw iptables-1.4.1/extensions/.IMQ-testx iptables-1.4.1.imq/extensions/.IMQ-testx ---- iptables-1.4.1/extensions/.IMQ-testx 1969-12-31 21:00:00.000000000 -0300 -+++ iptables-1.4.1.imq/extensions/.IMQ-testx 2008-06-24 22:20:06.000000000 -0300 -@@ -0,0 +1,3 @@ -+#!/bin/sh -+# True if IMQ target patch is applied. -+[ -f $KERNEL_DIR/include/linux/netfilter/xt_IMQ.h ] && echo IMQ -diff -Naurw iptables-1.4.1/extensions/libxt_IMQ.c iptables-1.4.1.imq/extensions/libxt_IMQ.c ---- iptables-1.4.1/extensions/libxt_IMQ.c 1969-12-31 21:00:00.000000000 -0300 -+++ iptables-1.4.1.imq/extensions/libxt_IMQ.c 2008-06-24 22:31:02.000000000 -0300 -@@ -0,0 +1,103 @@ +diff -Naur iptables-1.4.12.1/extensions/libxt_IMQ.c iptables-1.4.12.1-imq/extensions/libxt_IMQ.c +--- iptables-1.4.12.1/extensions/libxt_IMQ.c 1970-01-01 02:00:00.000000000 +0200 ++++ iptables-1.4.12.1-imq/extensions/libxt_IMQ.c 2011-09-30 13:53:21.000000000 +0300 +@@ -0,0 +1,105 @@ +/* Shared library add-on to iptables to add IMQ target support. */ +#include +#include @@ -50,11 +43,13 @@ diff -Naurw iptables-1.4.1/extensions/libxt_IMQ.c iptables-1.4.1.imq/extensions/ + + switch(c) { + case '1': -+ if (xtables_check_inverse(optarg, &invert, NULL, 0, argv)) ++/* if (xtables_check_inverse(optarg, &invert, NULL, 0, argv)) + xtables_error(PARAMETER_PROBLEM, -+ "Unexpected `!' for --todev"); ++ "Unexpected `!' after --todev"); ++*/ + mr->todev=atoi(optarg); + break; ++ + default: + return 0; + } @@ -76,7 +71,7 @@ diff -Naurw iptables-1.4.1/extensions/libxt_IMQ.c iptables-1.4.1.imq/extensions/ +{ + struct xt_imq_info *mr = (struct xt_imq_info*)target->data; + -+ printf("--todev %u", mr->todev); ++ printf(" --todev %u", mr->todev); +} + +static struct xtables_target imq_target = { @@ -112,8 +107,28 @@ diff -Naurw iptables-1.4.1/extensions/libxt_IMQ.c iptables-1.4.1.imq/extensions/ + xtables_register_target(&imq_target); + xtables_register_target(&imq_target6); +} ---- iptables-1.4.1.1/include/linux/netfilter/xt_IMQ.h 1970-01-01 02:00:00.000000000 +0200 -+++ iptables-1.4.1.1.new/include/linux/netfilter/xt_IMQ.h 2008-08-05 00:41:28.000000000 +0300 +diff -Naur iptables-1.4.12.1/extensions/libxt_IMQ.man iptables-1.4.12.1-imq/extensions/libxt_IMQ.man +--- iptables-1.4.12.1/extensions/libxt_IMQ.man 1970-01-01 02:00:00.000000000 +0200 ++++ iptables-1.4.12.1-imq/extensions/libxt_IMQ.man 2011-09-30 13:53:21.000000000 +0300 +@@ -0,0 +1,15 @@ ++This target is used to redirect the traffic to the IMQ driver and you can apply ++QoS rules like HTB or CBQ. ++For example you can select only traffic comming from a specific interface or ++is going out on a specific interface. ++Also it permits to capture the traffic BEFORE NAT in the case of outgoing traffic ++or AFTER NAT in the case of incomming traffic. ++.TP ++\fB\-\-to\-dev\fP \fIvalue\fP ++Set the IMQ interface where to send this traffic ++.TP ++Example: ++.TP ++Redirect incomming traffic from interface eth0 to imq0 and outgoing traffic to imq1: ++iptables \-t mangle \-A FORWARD \-i eth0 \-j IMQ \-\-to\-dev 0 ++iptables \-t mangle \-A FORWARD \-o eth0 \-j IMQ \-\-to\-dev 1 +diff -Naur iptables-1.4.12.1/include/linux/netfilter/xt_IMQ.h iptables-1.4.12.1-imq/include/linux/netfilter/xt_IMQ.h +--- iptables-1.4.12.1/include/linux/netfilter/xt_IMQ.h 1970-01-01 02:00:00.000000000 +0200 ++++ iptables-1.4.12.1-imq/include/linux/netfilter/xt_IMQ.h 2011-09-30 13:53:21.000000000 +0300 @@ -0,0 +1,9 @@ +#ifndef _XT_IMQ_H +#define _XT_IMQ_H diff --git a/src/patches/iptables-1.4.6-ipp2p-0.8.2-pomng.patch b/src/patches/iptables-1.4.14-ipp2p-0.8.2-ipfire.patch similarity index 99% rename from src/patches/iptables-1.4.6-ipp2p-0.8.2-pomng.patch rename to src/patches/iptables-1.4.14-ipp2p-0.8.2-ipfire.patch index 68e44b16b1..9a11eb50cc 100644 --- a/src/patches/iptables-1.4.6-ipp2p-0.8.2-pomng.patch +++ b/src/patches/iptables-1.4.14-ipp2p-0.8.2-ipfire.patch @@ -414,8 +414,8 @@ diff -Naur iptables-1.4.6.org/extensions/libipt_ipp2p.c iptables-1.4.6/extension + .next = NULL, + .name = "ipp2p", + .version = XTABLES_VERSION, -+ .size = IPT_ALIGN(sizeof(struct ipt_p2p_info)), -+ .userspacesize = IPT_ALIGN(sizeof(struct ipt_p2p_info)), ++ .size = XT_ALIGN(sizeof(struct ipt_p2p_info)), ++ .userspacesize = XT_ALIGN(sizeof(struct ipt_p2p_info)), + .help = &help, + .init = &init, + .parse = &parse, diff --git a/src/patches/iptables-1.4.6-errorno_includes.patch b/src/patches/iptables-1.4.6-errorno_includes.patch deleted file mode 100644 index a25c5a313c..0000000000 --- a/src/patches/iptables-1.4.6-errorno_includes.patch +++ /dev/null @@ -1,170 +0,0 @@ -diff -Naur include.org/asm/errno.h include/asm/errno.h ---- include.org/asm/errno.h 2010-02-12 18:21:40.000000000 +0100 -+++ include/asm/errno.h 2010-02-12 18:19:41.000000000 +0100 -@@ -5,4 +5,8 @@ - #include - #endif - -+#ifndef _ASM_GENERIC_ERRNO_H -+ #include -+#endif -+ - #endif -diff -Naur include.org/asm-generic/errno-base.h include/asm-generic/errno-base.h ---- include.org/asm-generic/errno-base.h 1970-01-01 01:00:00.000000000 +0100 -+++ include/asm-generic/errno-base.h 2010-02-09 13:57:19.000000000 +0100 -@@ -0,0 +1,39 @@ -+#ifndef _ASM_GENERIC_ERRNO_BASE_H -+#define _ASM_GENERIC_ERRNO_BASE_H -+ -+#define EPERM 1 /* Operation not permitted */ -+#define ENOENT 2 /* No such file or directory */ -+#define ESRCH 3 /* No such process */ -+#define EINTR 4 /* Interrupted system call */ -+#define EIO 5 /* I/O error */ -+#define ENXIO 6 /* No such device or address */ -+#define E2BIG 7 /* Argument list too long */ -+#define ENOEXEC 8 /* Exec format error */ -+#define EBADF 9 /* Bad file number */ -+#define ECHILD 10 /* No child processes */ -+#define EAGAIN 11 /* Try again */ -+#define ENOMEM 12 /* Out of memory */ -+#define EACCES 13 /* Permission denied */ -+#define EFAULT 14 /* Bad address */ -+#define ENOTBLK 15 /* Block device required */ -+#define EBUSY 16 /* Device or resource busy */ -+#define EEXIST 17 /* File exists */ -+#define EXDEV 18 /* Cross-device link */ -+#define ENODEV 19 /* No such device */ -+#define ENOTDIR 20 /* Not a directory */ -+#define EISDIR 21 /* Is a directory */ -+#define EINVAL 22 /* Invalid argument */ -+#define ENFILE 23 /* File table overflow */ -+#define EMFILE 24 /* Too many open files */ -+#define ENOTTY 25 /* Not a typewriter */ -+#define ETXTBSY 26 /* Text file busy */ -+#define EFBIG 27 /* File too large */ -+#define ENOSPC 28 /* No space left on device */ -+#define ESPIPE 29 /* Illegal seek */ -+#define EROFS 30 /* Read-only file system */ -+#define EMLINK 31 /* Too many links */ -+#define EPIPE 32 /* Broken pipe */ -+#define EDOM 33 /* Math argument out of domain of func */ -+#define ERANGE 34 /* Math result not representable */ -+ -+#endif -diff -Naur include.org/asm-generic/errno.h include/asm-generic/errno.h ---- include.org/asm-generic/errno.h 1970-01-01 01:00:00.000000000 +0100 -+++ include/asm-generic/errno.h 2010-02-09 13:57:19.000000000 +0100 -@@ -0,0 +1,111 @@ -+#ifndef _ASM_GENERIC_ERRNO_H -+#define _ASM_GENERIC_ERRNO_H -+ -+#include -+ -+#define EDEADLK 35 /* Resource deadlock would occur */ -+#define ENAMETOOLONG 36 /* File name too long */ -+#define ENOLCK 37 /* No record locks available */ -+#define ENOSYS 38 /* Function not implemented */ -+#define ENOTEMPTY 39 /* Directory not empty */ -+#define ELOOP 40 /* Too many symbolic links encountered */ -+#define EWOULDBLOCK EAGAIN /* Operation would block */ -+#define ENOMSG 42 /* No message of desired type */ -+#define EIDRM 43 /* Identifier removed */ -+#define ECHRNG 44 /* Channel number out of range */ -+#define EL2NSYNC 45 /* Level 2 not synchronized */ -+#define EL3HLT 46 /* Level 3 halted */ -+#define EL3RST 47 /* Level 3 reset */ -+#define ELNRNG 48 /* Link number out of range */ -+#define EUNATCH 49 /* Protocol driver not attached */ -+#define ENOCSI 50 /* No CSI structure available */ -+#define EL2HLT 51 /* Level 2 halted */ -+#define EBADE 52 /* Invalid exchange */ -+#define EBADR 53 /* Invalid request descriptor */ -+#define EXFULL 54 /* Exchange full */ -+#define ENOANO 55 /* No anode */ -+#define EBADRQC 56 /* Invalid request code */ -+#define EBADSLT 57 /* Invalid slot */ -+ -+#define EDEADLOCK EDEADLK -+ -+#define EBFONT 59 /* Bad font file format */ -+#define ENOSTR 60 /* Device not a stream */ -+#define ENODATA 61 /* No data available */ -+#define ETIME 62 /* Timer expired */ -+#define ENOSR 63 /* Out of streams resources */ -+#define ENONET 64 /* Machine is not on the network */ -+#define ENOPKG 65 /* Package not installed */ -+#define EREMOTE 66 /* Object is remote */ -+#define ENOLINK 67 /* Link has been severed */ -+#define EADV 68 /* Advertise error */ -+#define ESRMNT 69 /* Srmount error */ -+#define ECOMM 70 /* Communication error on send */ -+#define EPROTO 71 /* Protocol error */ -+#define EMULTIHOP 72 /* Multihop attempted */ -+#define EDOTDOT 73 /* RFS specific error */ -+#define EBADMSG 74 /* Not a data message */ -+#define EOVERFLOW 75 /* Value too large for defined data type */ -+#define ENOTUNIQ 76 /* Name not unique on network */ -+#define EBADFD 77 /* File descriptor in bad state */ -+#define EREMCHG 78 /* Remote address changed */ -+#define ELIBACC 79 /* Can not access a needed shared library */ -+#define ELIBBAD 80 /* Accessing a corrupted shared library */ -+#define ELIBSCN 81 /* .lib section in a.out corrupted */ -+#define ELIBMAX 82 /* Attempting to link in too many shared libraries */ -+#define ELIBEXEC 83 /* Cannot exec a shared library directly */ -+#define EILSEQ 84 /* Illegal byte sequence */ -+#define ERESTART 85 /* Interrupted system call should be restarted */ -+#define ESTRPIPE 86 /* Streams pipe error */ -+#define EUSERS 87 /* Too many users */ -+#define ENOTSOCK 88 /* Socket operation on non-socket */ -+#define EDESTADDRREQ 89 /* Destination address required */ -+#define EMSGSIZE 90 /* Message too long */ -+#define EPROTOTYPE 91 /* Protocol wrong type for socket */ -+#define ENOPROTOOPT 92 /* Protocol not available */ -+#define EPROTONOSUPPORT 93 /* Protocol not supported */ -+#define ESOCKTNOSUPPORT 94 /* Socket type not supported */ -+#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ -+#define EPFNOSUPPORT 96 /* Protocol family not supported */ -+#define EAFNOSUPPORT 97 /* Address family not supported by protocol */ -+#define EADDRINUSE 98 /* Address already in use */ -+#define EADDRNOTAVAIL 99 /* Cannot assign requested address */ -+#define ENETDOWN 100 /* Network is down */ -+#define ENETUNREACH 101 /* Network is unreachable */ -+#define ENETRESET 102 /* Network dropped connection because of reset */ -+#define ECONNABORTED 103 /* Software caused connection abort */ -+#define ECONNRESET 104 /* Connection reset by peer */ -+#define ENOBUFS 105 /* No buffer space available */ -+#define EISCONN 106 /* Transport endpoint is already connected */ -+#define ENOTCONN 107 /* Transport endpoint is not connected */ -+#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */ -+#define ETOOMANYREFS 109 /* Too many references: cannot splice */ -+#define ETIMEDOUT 110 /* Connection timed out */ -+#define ECONNREFUSED 111 /* Connection refused */ -+#define EHOSTDOWN 112 /* Host is down */ -+#define EHOSTUNREACH 113 /* No route to host */ -+#define EALREADY 114 /* Operation already in progress */ -+#define EINPROGRESS 115 /* Operation now in progress */ -+#define ESTALE 116 /* Stale NFS file handle */ -+#define EUCLEAN 117 /* Structure needs cleaning */ -+#define ENOTNAM 118 /* Not a XENIX named type file */ -+#define ENAVAIL 119 /* No XENIX semaphores available */ -+#define EISNAM 120 /* Is a named type file */ -+#define EREMOTEIO 121 /* Remote I/O error */ -+#define EDQUOT 122 /* Quota exceeded */ -+ -+#define ENOMEDIUM 123 /* No medium found */ -+#define EMEDIUMTYPE 124 /* Wrong medium type */ -+#define ECANCELED 125 /* Operation Canceled */ -+#define ENOKEY 126 /* Required key not available */ -+#define EKEYEXPIRED 127 /* Key has expired */ -+#define EKEYREVOKED 128 /* Key has been revoked */ -+#define EKEYREJECTED 129 /* Key was rejected by service */ -+ -+/* for robust mutexes */ -+#define EOWNERDEAD 130 /* Owner died */ -+#define ENOTRECOVERABLE 131 /* State not recoverable */ -+ -+#define ERFKILL 132 /* Operation not possible due to RF-kill */ -+ -+#endif