X-Git-Url: http://developer.intra2net.com/git/?p=libipt_ACCOUNT;a=blobdiff_plain;f=src%2Fipt_ACCOUNT_cl.h;h=b167f1d89204956d3dc7e6da5ca6bb4d4557f55f;hp=de275e63531149ab88c37b19310908f56a8a64d8;hb=d7e0bb9c552e772bc1ac461194356d1fd6483000;hpb=322f2b5be72befa4a2d26ebf75114ffa5662a964 diff --git a/src/ipt_ACCOUNT_cl.h b/src/ipt_ACCOUNT_cl.h index de275e6..b167f1d 100644 --- a/src/ipt_ACCOUNT_cl.h +++ b/src/ipt_ACCOUNT_cl.h @@ -1,20 +1,20 @@ +/*************************************************************************** + * 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 Lesser General Public License * + * version 2.1 as published by the Free Software Foundation; * + * * + ***************************************************************************/ + #ifndef _ipt_ACCOUNT_cl_H #define _ipt_ACCOUNT_cl_H -// TODO: Path needs fixing -#include "../ipt_ACCOUNT.h" +#include -// TODO: Move these to the ip_tables.h -#define IPT_BASE_CTL 64 /* base for firewall socket options */ -#define IPT_SO_SET_ACCOUNT_HANDLE_FREE (IPT_BASE_CTL + 3) -#define IPT_SO_SET_ACCOUNT_MAX IPT_SO_SET_ACCOUNT_HANDLE_FREE - -#define IPT_SO_GET_ACCOUNT_PREPARE_READ (IPT_BASE_CTL + 3) -#define IPT_SO_GET_ACCOUNT_PREPARE_READ_FLUSH (IPT_BASE_CTL + 4) -#define IPT_SO_GET_ACCOUNT_GET_DATA (IPT_BASE_CTL + 5) -#define IPT_SO_GET_ACCOUNT_MAX IPT_SO_GET_ACCOUNT_GET_DATA - -#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 { @@ -28,13 +28,27 @@ struct ipt_ACCOUNT_context 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, 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_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); + char *ipt_ACCOUNT_get_next_name(struct ipt_ACCOUNT_context *ctx); +#ifdef __cplusplus +} +#endif + + #endif