blob: 2ad7cd0b6b988b820888fd82b9c53e72a84de0c8 [file] [log] [blame]
/* SPDX-License-Identifier: LGPL-2.1-only */
/*
* Copyright (c) 2003-2013 Thomas Graf <[email protected]>
*/
#ifndef NETLINK_GENL_PRIV_H_
#define NETLINK_GENL_PRIV_H_
#include <netlink/netlink.h>
#include "nl-priv-dynamic-core/object-api.h"
#include "nl-priv-dynamic-core/cache-api.h"
#define GENL_HDRSIZE(hdrlen) (GENL_HDRLEN + (hdrlen))
/*****************************************************************************/
/* WARNING: this symbol is wrongly exported in libnl-genl-3.sym. */
extern int genl_resolve_id(struct genl_ops *ops);
/*****************************************************************************/
#define GENL_OP_HAS_POLICY 1
#define GENL_OP_HAS_DOIT 2
#define GENL_OP_HAS_DUMPIT 4
struct genl_family_grp {
struct genl_family *family; /* private */
struct nl_list_head list; /* private */
char name[GENL_NAMSIZ];
u_int32_t id;
};
struct genl_family
{
NLHDR_COMMON
uint16_t gf_id;
char gf_name[GENL_NAMSIZ];
uint32_t gf_version;
uint32_t gf_hdrsize;
uint32_t gf_maxattr;
struct nl_list_head gf_ops;
struct nl_list_head gf_mc_grps;
};
#endif