about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/netinet/ip_fw.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/netinet/ip_fw.h')
-rw-r--r--sysdeps/unix/sysv/linux/netinet/ip_fw.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/netinet/ip_fw.h b/sysdeps/unix/sysv/linux/netinet/ip_fw.h
index 322467b5ff..2139c37ba7 100644
--- a/sysdeps/unix/sysv/linux/netinet/ip_fw.h
+++ b/sysdeps/unix/sysv/linux/netinet/ip_fw.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 95, 96, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 95, 96, 97, 98 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -125,6 +125,7 @@ struct ip_fw {
 #define IP_FW_OUT		2
 #define IP_FW_ACCT		3
 #define IP_FW_CHAINS		4	/* total number of ip_fw chains */
+#define IP_FW_MASQ		5
 
 #define IP_FW_INSERT		(IP_FW_BASE_CTL)
 #define IP_FW_APPEND		(IP_FW_BASE_CTL+1)
@@ -165,6 +166,11 @@ struct ip_fw {
 #define IP_ACCT_FLUSH		(IP_FW_FLUSH  | (IP_FW_ACCT << IP_FW_SHIFT))
 #define IP_ACCT_ZERO		(IP_FW_ZERO   | (IP_FW_ACCT << IP_FW_SHIFT))
 
+#define IP_FW_MASQ_INSERT	(IP_FW_INSERT | (IP_FW_MASQ << IP_FW_SHIFT))
+#define IP_FW_MASQ_ADD		(IP_FW_APPEND | (IP_FW_MASQ << IP_FW_SHIFT))
+#define IP_FW_MASQ_DEL		(IP_FW_DELETE | (IP_FW_MASQ << IP_FW_SHIFT))
+#define IP_FW_MASQ_FLUSH	(IP_FW_FLUSH  | (IP_FW_MASQ << IP_FW_SHIFT))
+
 struct ip_fwpkt
 {
   struct iphdr fwp_iph;			/* IP header */
@@ -177,6 +183,21 @@ struct ip_fwpkt
   char fwp_vianame[IFNAMSIZ];	        /* interface name */
 };
 
+#define IP_FW_MASQCTL_MAX 256
+#define IP_MASQ_MOD_NMAX  32
+
+struct ip_fw_masqctl
+{
+  int mctl_action;
+  union {
+    struct {
+      char name[IP_MASQ_MOD_NMAX];
+      char data[1];
+    } mod;
+  } u;
+};
+
+
 /*
  * timeouts for ip masquerading
  */