libnl
3.2.24-rc1
Main Page
Related Pages
Modules
Data Structures
addr.h
1
/*
2
* netlink/addr.h Abstract Address
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-2013 Thomas Graf <tgraf@suug.ch>
10
*/
11
12
#ifndef NETLINK_ADDR_H_
13
#define NETLINK_ADDR_H_
14
15
#include <netlink/netlink.h>
16
17
#ifdef __cplusplus
18
extern
"C"
{
19
#endif
20
21
struct
nl_addr;
22
23
/* Creation */
24
extern
struct
nl_addr *
nl_addr_alloc
(
size_t
);
25
extern
struct
nl_addr *
nl_addr_alloc_attr
(
struct
nlattr *,
int
);
26
extern
struct
nl_addr *
nl_addr_build
(
int
,
void
*,
size_t
);
27
extern
int
nl_addr_parse
(
const
char
*,
int
,
struct
nl_addr **);
28
extern
struct
nl_addr *
nl_addr_clone
(
struct
nl_addr *);
29
30
/* Usage Management */
31
extern
struct
nl_addr *
nl_addr_get
(
struct
nl_addr *);
32
extern
void
nl_addr_put
(
struct
nl_addr *);
33
extern
int
nl_addr_shared
(
struct
nl_addr *);
34
35
extern
int
nl_addr_cmp
(
struct
nl_addr *,
struct
nl_addr *);
36
extern
int
nl_addr_cmp_prefix
(
struct
nl_addr *,
struct
nl_addr *);
37
extern
int
nl_addr_iszero
(
struct
nl_addr *);
38
extern
int
nl_addr_valid
(
char
*,
int
);
39
extern
int
nl_addr_guess_family
(
struct
nl_addr *);
40
extern
int
nl_addr_fill_sockaddr
(
struct
nl_addr *,
41
struct
sockaddr *, socklen_t *);
42
extern
int
nl_addr_info
(
struct
nl_addr *,
struct
addrinfo **);
43
extern
int
nl_addr_resolve
(
struct
nl_addr *,
char
*,
size_t
);
44
45
/* Access Functions */
46
extern
void
nl_addr_set_family
(
struct
nl_addr *,
int
);
47
extern
int
nl_addr_get_family
(
struct
nl_addr *);
48
extern
int
nl_addr_set_binary_addr
(
struct
nl_addr *,
void
*,
49
size_t
);
50
extern
void
*
nl_addr_get_binary_addr
(
struct
nl_addr *);
51
extern
unsigned
int
nl_addr_get_len
(
struct
nl_addr *);
52
extern
void
nl_addr_set_prefixlen
(
struct
nl_addr *,
int
);
53
extern
unsigned
int
nl_addr_get_prefixlen
(
struct
nl_addr *);
54
55
/* Address Family Translations */
56
extern
char
* nl_af2str(
int
,
char
*,
size_t
);
57
extern
int
nl_str2af(
const
char
*);
58
59
/* Translations to Strings */
60
extern
char
*
nl_addr2str
(
struct
nl_addr *,
char
*,
size_t
);
61
62
#ifdef __cplusplus
63
}
64
#endif
65
66
#endif
include
netlink
addr.h
Generated on Tue Jan 21 2014 20:35:45 for libnl by
1.8.3.1