#ifndef _ipt_ACCOUNT_cl_H
#define _ipt_ACCOUNT_cl_H
-#include <netinet/in.h>
-#include <linux/if.h>
-#include <linux/netfilter_ipv4/ip_tables.h>
#include <linux/netfilter_ipv4/ipt_ACCOUNT.h>
-#define IPT_ACCOUNT_MIN_BUFSIZE 4096 /* Don't set this below the size of struct ipt_account_handle_sockopt */
+/* Don't set this below the size of struct ipt_account_handle_sockopt */
+#define IPT_ACCOUNT_MIN_BUFSIZE 4096
struct ipt_ACCOUNT_context
{
int sockfd;
- struct ipt_account_handle_sockopt handle;
+ struct ipt_acc_handle_sockopt handle;
unsigned int data_size;
void *data;
char *error_str;
};
-int ipt_ACCOUNT_init(struct ipt_ACCOUNT_context *ctx);
-void ipt_ACCOUNT_deinit(struct ipt_ACCOUNT_context *ctx);
+#ifdef __cplusplus
+extern "C" {
+#endif
-int ipt_ACCOUNT_read_entries(struct ipt_ACCOUNT_context *ctx, char *table, char dont_flush);
-struct ipt_account_handle_ip *ipt_ACCOUNT_get_next_entry(struct ipt_ACCOUNT_context *ctx);
-/* ipt_ACCOUNT_free_entries is for internal use only function as this library
- is constructed to be used in a loop -> Don't allocate memory all the time.
- The data buffer is freed on deinit() */
+ int ipt_ACCOUNT_init(struct ipt_ACCOUNT_context *ctx);
+ void ipt_ACCOUNT_deinit(struct ipt_ACCOUNT_context *ctx);
+
+ int ipt_ACCOUNT_read_entries(struct ipt_ACCOUNT_context *ctx,
+ const char *table, char dont_flush);
+ struct ipt_acc_handle_ip *ipt_ACCOUNT_get_next_entry(
+ struct ipt_ACCOUNT_context *ctx);
+
+ /* ipt_ACCOUNT_free_entries is for internal use only function as this library
+ is constructed to be used in a loop -> Don't allocate memory all the time.
+ The data buffer is freed on deinit() */
+
+ int ipt_ACCOUNT_get_handle_usage(struct ipt_ACCOUNT_context *ctx);
+ int ipt_ACCOUNT_free_all_handles(struct ipt_ACCOUNT_context *ctx);
+ int ipt_ACCOUNT_get_table_names(struct ipt_ACCOUNT_context *ctx);
+ const char *ipt_ACCOUNT_get_next_name(struct ipt_ACCOUNT_context *ctx);
+#ifdef __cplusplus
+}
+#endif
+
+
#endif