1/* 2 * netlink-types.h Netlink Types (Private) 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation version 2.1 7 * of the License. 8 * 9 * Copyright (c) 2003-2008 Thomas Graf <tgraf@suug.ch> 10 */ 11 12#ifndef NETLINK_LOCAL_TYPES_H_ 13#define NETLINK_LOCAL_TYPES_H_ 14 15#include <netlink/list.h> 16 17struct nl_cache_ops; 18struct nl_sock; 19struct nl_object; 20 21struct nl_cache 22{ 23 struct nl_list_head c_items; 24 int c_nitems; 25 int c_iarg1; 26 int c_iarg2; 27 struct nl_cache_ops * c_ops; 28}; 29 30struct nl_cache_assoc 31{ 32 struct nl_cache * ca_cache; 33 change_func_t ca_change; 34}; 35 36struct nl_cache_mngr 37{ 38 int cm_protocol; 39 int cm_flags; 40 int cm_nassocs; 41 struct nl_sock * cm_handle; 42 struct nl_cache_assoc * cm_assocs; 43}; 44 45struct nl_parser_param; 46 47#define LOOSE_COMPARISON 1 48 49 50struct nl_data 51{ 52 size_t d_size; 53 void * d_data; 54}; 55 56struct nl_addr 57{ 58 int a_family; 59 unsigned int a_maxsize; 60 unsigned int a_len; 61 int a_prefixlen; 62 int a_refcnt; 63 char a_addr[0]; 64}; 65 66#define IFQDISCSIZ 32 67 68#define GENL_OP_HAS_POLICY 1 69#define GENL_OP_HAS_DOIT 2 70#define GENL_OP_HAS_DUMPIT 4 71 72struct genl_family_op 73{ 74 uint32_t o_id; 75 uint32_t o_flags; 76 77 struct nl_list_head o_list; 78}; 79 80 81#endif 82