libnl 1.1.4
Generic Netlink Family

Family Object

struct genl_family * genl_family_alloc (void)
 
void genl_family_put (struct genl_family *family)
 

Attributes

unsigned int genl_family_get_id (struct genl_family *family)
 
void genl_family_set_id (struct genl_family *family, unsigned int id)
 
char * genl_family_get_name (struct genl_family *family)
 
void genl_family_set_name (struct genl_family *family, const char *name)
 
uint8_t genl_family_get_version (struct genl_family *family)
 
void genl_family_set_version (struct genl_family *family, uint8_t version)
 
uint32_t genl_family_get_hdrsize (struct genl_family *family)
 
void genl_family_set_hdrsize (struct genl_family *family, uint32_t hdrsize)
 
uint32_t genl_family_get_maxattr (struct genl_family *family)
 
void genl_family_set_maxattr (struct genl_family *family, uint32_t maxattr)
 
int genl_family_add_op (struct genl_family *family, int id, int flags)
 

Detailed Description

Function Documentation

◆ genl_family_alloc()

struct genl_family * genl_family_alloc ( void  )

Definition at line 160 of file family.c.

161{
162 return (struct genl_family *) nl_object_alloc(&genl_family_ops);
163}
struct nl_object * nl_object_alloc(struct nl_object_ops *ops)
Allocate a new object of kind specified by the operations handle.
Definition: object.c:42

◆ genl_family_put()

void genl_family_put ( struct genl_family *  family)

Definition at line 165 of file family.c.

166{
167 nl_object_put((struct nl_object *) family);
168}
void nl_object_put(struct nl_object *obj)
Release a reference from an object.
Definition: object.c:178

◆ genl_family_get_id()

unsigned int genl_family_get_id ( struct genl_family *  family)

Definition at line 177 of file family.c.

178{
179 if (family->ce_mask & FAMILY_ATTR_ID)
180 return family->gf_id;
181 else
182 return GENL_ID_GENERATE;
183}

◆ genl_family_set_id()

void genl_family_set_id ( struct genl_family *  family,
unsigned int  id 
)

Definition at line 185 of file family.c.

186{
187 family->gf_id = id;
188 family->ce_mask |= FAMILY_ATTR_ID;
189}

◆ genl_family_get_name()

char * genl_family_get_name ( struct genl_family *  family)

Definition at line 191 of file family.c.

192{
193 if (family->ce_mask & FAMILY_ATTR_NAME)
194 return family->gf_name;
195 else
196 return NULL;
197}

◆ genl_family_set_name()

void genl_family_set_name ( struct genl_family *  family,
const char *  name 
)

Definition at line 199 of file family.c.

200{
201 strncpy(family->gf_name, name, GENL_NAMSIZ-1);
202 family->ce_mask |= FAMILY_ATTR_NAME;
203}

◆ genl_family_get_version()

uint8_t genl_family_get_version ( struct genl_family *  family)

Definition at line 205 of file family.c.

206{
207 if (family->ce_mask & FAMILY_ATTR_VERSION)
208 return family->gf_version;
209 else
210 return 0;
211}

◆ genl_family_set_version()

void genl_family_set_version ( struct genl_family *  family,
uint8_t  version 
)

Definition at line 213 of file family.c.

214{
215 family->gf_version = version;
216 family->ce_mask |= FAMILY_ATTR_VERSION;
217}

◆ genl_family_get_hdrsize()

uint32_t genl_family_get_hdrsize ( struct genl_family *  family)

Definition at line 219 of file family.c.

220{
221 if (family->ce_mask & FAMILY_ATTR_HDRSIZE)
222 return family->gf_hdrsize;
223 else
224 return 0;
225}

◆ genl_family_set_hdrsize()

void genl_family_set_hdrsize ( struct genl_family *  family,
uint32_t  hdrsize 
)

Definition at line 227 of file family.c.

228{
229 family->gf_hdrsize = hdrsize;
230 family->ce_mask |= FAMILY_ATTR_HDRSIZE;
231}

◆ genl_family_get_maxattr()

uint32_t genl_family_get_maxattr ( struct genl_family *  family)

Definition at line 233 of file family.c.

234{
235 if (family->ce_mask & FAMILY_ATTR_MAXATTR)
236 return family->gf_maxattr;
237 else
238 return family->gf_maxattr;
239}

◆ genl_family_set_maxattr()

void genl_family_set_maxattr ( struct genl_family *  family,
uint32_t  maxattr 
)

Definition at line 241 of file family.c.

242{
243 family->gf_maxattr = maxattr;
244 family->ce_mask |= FAMILY_ATTR_MAXATTR;
245}

◆ genl_family_add_op()

int genl_family_add_op ( struct genl_family *  family,
int  id,
int  flags 
)

Definition at line 247 of file family.c.

248{
249 struct genl_family_op *op;
250
251 op = calloc(1, sizeof(*op));
252 if (op == NULL)
253 return nl_errno(ENOMEM);
254
255 op->o_id = id;
256 op->o_flags = flags;
257
258 nl_list_add_tail(&op->o_list, &family->gf_ops);
259 family->ce_mask |= FAMILY_ATTR_OPS;
260
261 return 0;
262}