Viewing file: types.h (2.14 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* * netlink/types.h Definition of public types * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation version 2.1 * of the License. * * Copyright (c) 2003-2012 Thomas Graf <tgraf@suug.ch> */
#ifndef __NETLINK_TYPES_H_ #define __NETLINK_TYPES_H_
#include <stdio.h>
/** * @ingroup utils * Enumeration of dumping variations (dp_type) */ enum nl_dump_type { NL_DUMP_LINE, /**< Dump object briefly on one line */ NL_DUMP_DETAILS, /**< Dump all attributes but no statistics */ NL_DUMP_STATS, /**< Dump all attributes including statistics */ __NL_DUMP_MAX, }; #define NL_DUMP_MAX (__NL_DUMP_MAX - 1)
/** * @ingroup utils * Dumping parameters */ struct nl_dump_params { /** * Specifies the type of dump that is requested. */ enum nl_dump_type dp_type;
/** * Specifies the number of whitespaces to be put in front * of every new line (indentation). */ int dp_prefix;
/** * Causes the cache index to be printed for each element. */ int dp_print_index;
/** * Causes each element to be prefixed with the message type. */ int dp_dump_msgtype;
/** * A callback invoked for output * * Passed arguments are: * - dumping parameters * - string to append to the output */ void (*dp_cb)(struct nl_dump_params *, char *);
/** * A callback invoked for every new line, can be used to * customize the indentation. * * Passed arguments are: * - dumping parameters * - line number starting from 0 */ void (*dp_nl_cb)(struct nl_dump_params *, int);
/** * User data pointer, can be used to pass data to callbacks. */ void *dp_data;
/** * File descriptor the dumping output should go to */ FILE * dp_fd;
/** * Alternatively the output may be redirected into a buffer */ char * dp_buf;
/** * Length of the buffer dp_buf */ size_t dp_buflen;
/** * PRIVATE * Set if a dump was performed prior to the actual dump handler. */ int dp_pre_dump;
/** * PRIVATE * Owned by the current caller */ int dp_ivar;
unsigned int dp_line; };
#endif
|