/*************************************************************************** * 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 #include #include #include #include #define IPT_ACCOUNT_MIN_BUFSIZE 4096 /* Don't set this below the size of struct ipt_account_handle_sockopt */ struct ipt_ACCOUNT_context { int sockfd; struct ipt_account_handle_sockopt handle; unsigned int data_size; void *data; unsigned int pos; char *error_str; }; 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() */ #endif