libnl
1.1
Main Page
Modules
Data Structures
Files
File List
tmp
B.583d423e-2a9c-4f28-9318-cd8e1ccfab29
BUILD
libnl-1.1
include
netlink
object.h
1
/*
2
* netlink/object.c Generic Cacheable Object
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-2006 Thomas Graf <tgraf@suug.ch>
10
*/
11
12
#ifndef NETLINK_OBJECT_H_
13
#define NETLINK_OBJECT_H_
14
15
#include <netlink/netlink.h>
16
#include <netlink/utils.h>
17
18
#ifdef __cplusplus
19
extern
"C"
{
20
#endif
21
22
struct
nl_cache;
23
struct
nl_object;
24
struct
nl_object_ops
;
25
26
#define OBJ_CAST(ptr) ((struct nl_object *) (ptr))
27
28
/* General */
29
extern
struct
nl_object *
nl_object_alloc
(
struct
nl_object_ops
*);
30
extern
struct
nl_object *
nl_object_alloc_name
(
const
char
*);
31
extern
void
nl_object_free
(
struct
nl_object *);
32
extern
struct
nl_object *
nl_object_clone
(
struct
nl_object *obj);
33
extern
void
nl_object_get
(
struct
nl_object *);
34
extern
void
nl_object_put
(
struct
nl_object *);
35
extern
int
nl_object_shared
(
struct
nl_object *);
36
extern
void
nl_object_dump
(
struct
nl_object *,
37
struct
nl_dump_params
*);
38
extern
int
nl_object_identical
(
struct
nl_object *,
39
struct
nl_object *);
40
extern
uint32_t
nl_object_diff
(
struct
nl_object *,
41
struct
nl_object *);
42
extern
int
nl_object_match_filter
(
struct
nl_object *,
43
struct
nl_object *);
44
extern
char
*
nl_object_attrs2str
(
struct
nl_object *,
45
uint32_t attrs,
char
*buf,
46
size_t
);
47
extern
char
*
nl_object_attr_list
(
struct
nl_object *,
48
char
*,
size_t
);
49
50
/* Marks */
51
extern
void
nl_object_mark
(
struct
nl_object *);
52
extern
void
nl_object_unmark
(
struct
nl_object *);
53
extern
int
nl_object_is_marked
(
struct
nl_object *);
54
55
/* Access Functions */
56
extern
int
nl_object_get_refcnt(
struct
nl_object *);
57
extern
struct
nl_cache * nl_object_get_cache(
struct
nl_object *);
58
extern
void
* nl_object_priv(
struct
nl_object *);
59
60
#ifdef __cplusplus
61
}
62
#endif
63
64
#endif
Generated on Sat Jul 20 2013 12:19:35 for libnl by
1.8.4