
- changes the modules hierarchy to better represent the set of libaries - list the header file that needs to be included - remove examples/doc from api ref that is included in the guide - add references to the guide - fix doxygen api linking for version 1.8.0 - readd doxygen mainpage to config file - fix a couple of doxygen doc bugs
110 lines
2.1 KiB
C
110 lines
2.1 KiB
C
/*
|
|
* 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
|