Provided by: libipset-dev_7.17-1ubuntu1_amd64 bug

NAME

       libipset - A library for using ipset

SYNOPSIS

       #include <libipset/ipset.h>

       void ipset_load_types(void)

       struct ipset * ipset_init(void)
       int ipset_parse_argv(struct ipset *ipset, int argc, char *argv[])

       int ipset_parse_line(struct ipset *ipset, char *line)

       int ipset_parse_stream(struct ipset *ipset, FILE *f)

       int ipset_fini(struct ipset *ipset)

       int ipset_custom_printf(struct ipset *ipset,
                      ipset_custom_errorfn custom_error,
                      ipset_standard_errorfn standard_error,
                      ipset_print_outfn outfn,
                      void *p)

       struct ipset_session * ipset_session(struct ipset *ipset)

       int ipset_session_full_io(struct ipset_session *session,
                        const char *filename,
                        enum ipset_io_type what)

       int ipset_session_normal_io(struct ipset_session *session,
                          const char *filename,
                          enum ipset_io_type what)

       FILE * ipset_session_io_stream(struct ipset_session *session,
                             enum ipset_io_type what)

       int ipset_session_io_close(struct ipset_session *session,
                         enum ipset_io_type what)

DESCRIPTION

       libipset  provides  a  library interface to ipset(8).  The integer return valued functions
       return 0 on success and a negative value on failure.

       ipset_load_types
              Loads in the supported ipset types in the library and make them available  for  the
              ipset interface.

       ipset_init
              Initializes  the  ipset  interface: allocates and initializes the required internal
              structures, opens  up  the  netlink  channel.  The  function  returns  the  library
              interface structure of type struct ipset * or NULL on failure.

       ipset_parse_argv
              Parses  the argc length of array of strings argv with the already initialized ipset
              library structure.  If the command is successfully parsed, it is then submitted  to
              the  kernel  to execute. In the case of error, the textual error message is printed
              and a negative number is returned.

       ipset_parse_line
              Parses the string line with the already initialized ipset  library  structure.  The
              line  is  supposed  to  contain  a  single  ipset command in restore format. If the
              command is successfully parsed, it is then submitted to the kernel to  execute.  In
              the  case  of  error, the textual error message is printed and a negative number is
              returned.

       ipset_parse_stream
              Parses the stream f with the  already  initialized  ipset  library  structure.  The
              stream may contain multiple newline separated ipset commands in restore format. The
              commands are parsed and then submitted to the kernel in batches for  efficiecy.  In
              the  case  of  error, the textual error message is printed and a negative number is
              returned.

       ipset_fini
              Closes the netlink channel, closes opened streams and releases allocated structures
              holding by the ipset library structure.

       The following functions makes possible to customize the interface.

       ipset_custom_printf
              Sets  or  resets  the  print  functions  for  the  ipset  library  structure, where
              custom_error is the custom error print function for the  internal  library  errors,
              standard_error  is  the  print  function  for the netlink/kernel related errors and
              outfn is the output function to print the result  of  list/save  commands.   The  p
              pointer  makes  possible to pass arbitrary structure to the custom print functions.
              If NULL is passed instead of a function pointer, the default print function is  set
              for the given task. If any of the print functions is non-default, then the version,
              help, interactive ipset commands are ignored.

       ipset_session
              The function returns the session structure of the ipset library structure, in order
              to manipulate the IO parameters.

       ipset_session_full_io
              You  can control the full IO, i.e. input (restore) and output (save) separatedly by
              the function. The session  parameter  is  the  session  structure  of  the  library
              interface,  filename  is  the filename you want to use for input or output and what
              tells the function you want to set input or output file.   If  there's  an  already
              opened  file for the given IO mode, it is closed.  The function returns an error if
              normal mode is in use. If NULL is passed instead of a filename, already opened file
              is  closed  and  the  normal  stream is set for the given IO mode (stdin for input,
              stdout for output). Input/output files can be set separatedly.

       ipset_session_normal_io
              You can control the normal IO, which  corresponds  to  the  interface  provided  by
              ipset(8)  itself.   session  parameter  is  the  session  structure  of the library
              interface, filename is the filename you want to use for input or  output  and  what
              tells  the  function  you  want to set input or output file.  If there's an already
              opened file for input/output, it is closed.  The function returns an error if  full
              mode  is  in  use.  If NULL is passed instead of a filename, already opened file is
              closed and the normal stream is set for the given IO mode (stdin for input,  stdout
              for output). Input/output files cannot be set separatedly.

       ipset_session_io_stream
              The  function  returns the stream set for the session where what tells the function
              you want to get the input or the output stream.

       ipset_session_io_close
              The function closes the stream for the session where what tells  the  function  you
              want  to  close the input or the output stream. After closing, the standard streams
              are set: stdin for input, stdout for output.

AUTHORS

       ipset/libipset was designed and written by Jozsef Kadlecsik.

SEE ALSO

       ipset(8),
       /usr/include/libipset/ipset.h /usr/include/libipset/session.h