X-Git-Url: http://developer.intra2net.com/git/?p=ipt_ACCOUNT;a=blobdiff_plain;f=linux%2Finclude%2Flinux%2Fnetfilter_ipv4%2Fipt_ACCOUNT.h;h=402b889de94545234a2d7a1cfa71636d4740b5ba;hp=d0976dc01f75c9437467f54c2064c098434c84c4;hb=547561148f04750c5c23fcb87e2c457850c2b479;hpb=850cece6acb2d0d6a227f64d41954dde89abfa39 diff --git a/linux/include/linux/netfilter_ipv4/ipt_ACCOUNT.h b/linux/include/linux/netfilter_ipv4/ipt_ACCOUNT.h index d0976dc..402b889 100644 --- a/linux/include/linux/netfilter_ipv4/ipt_ACCOUNT.h +++ b/linux/include/linux/netfilter_ipv4/ipt_ACCOUNT.h @@ -1,3 +1,13 @@ +/*************************************************************************** + * Copyright (C) 2004 by Intra2net AG * + * opensource@intra2net.com * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License * + * version 2 as published by the Free Software Foundation; * + * * + ***************************************************************************/ + #ifndef _IPT_ACCOUNT_H #define _IPT_ACCOUNT_H @@ -19,19 +29,27 @@ struct ipt_account_table char name[ACCOUNT_TABLE_NAME_LEN]; /* name of the table */ unsigned int ip; /* base IP of network */ unsigned int netmask; /* netmask of the network */ - unsigned char depth; /* Size of network: 0: 8 bit, 1: 16bit, 2: 24 bit */ + unsigned char depth; /* size of network: 0: 8 bit, 1: 16bit, 2: 24 bit */ unsigned int refcount; /* refcount of this table. if zero, destroy it */ unsigned int itemcount; /* number of IPs in this table */ void *data; /* pointer to the actual data, depending on netmask */ }; -/* Handle structure for communication with the userspace library */ +/* Internal handle structure */ struct ipt_account_handle { - unsigned int ip; /* base IP of network */ - unsigned char netmask; /* netmask of the network */ + unsigned int ip; /* base IP of network. Used for caculating the final IP during get_data() */ + unsigned char depth; /* size of network. See above for details */ unsigned int itemcount; /* number of IPs in this table */ - void *data; /* pointer to the actual data, depending on netmask */ + void *data; /* pointer to the actual data, depending on size */ +}; + +/* Handle structure for communication with the userspace library */ +struct ipt_account_handle_sockopt +{ + unsigned int handle_nr; /* Used for HANDLE_FREE */ + char name[ACCOUNT_TABLE_NAME_LEN]; /* Used for HANDLE_PREPARE_READ/READ_FLUSH */ + unsigned int itemcount; /* Used for HANDLE_PREPARE_READ/READ_FLUSH */ }; /* Used for every IP entry */