1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Copyright (C) 2005 - 2010 Red Hat, Inc.
* Copyright (C) 2006 - 2008 Novell, Inc.
*/
#ifndef __NETWORKMANAGER_DHCP_MANAGER_H__
#define __NETWORKMANAGER_DHCP_MANAGER_H__
#include "nm-dhcp-client.h"
#include "nm-ip4-config.h"
#include "nm-dhcp-config.h"
#define NM_TYPE_DHCP_MANAGER (nm_dhcp_manager_get_type())
#define NM_DHCP_MANAGER(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_DHCP_MANAGER, NMDhcpManager))
#define NM_DHCP_MANAGER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_DHCP_MANAGER, NMDhcpManagerClass))
#define NM_IS_DHCP_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_DHCP_MANAGER))
#define NM_IS_DHCP_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_DHCP_MANAGER))
#define NM_DHCP_MANAGER_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_DHCP_MANAGER, NMDhcpManagerClass))
typedef struct _NMDhcpManager NMDhcpManager;
typedef struct _NMDhcpManagerClass NMDhcpManagerClass;
GType nm_dhcp_manager_get_type(void);
NMDhcpManager *nm_dhcp_manager_get(void);
const char *nm_dhcp_manager_get_config(NMDhcpManager *self);
void nm_dhcp_manager_set_default_hostname(NMDhcpManager *manager, const char *hostname);
NMDhcpClient *nm_dhcp_manager_start_ip4(NMDhcpManager * manager,
struct _NMDedupMultiIndex *multi_idx,
const char * iface,
int ifindex,
GBytes * hwaddr,
GBytes * bcast_hwaddr,
const char * uuid,
guint32 route_table,
guint32 route_metric,
gboolean send_hostname,
const char * dhcp_hostname,
const char * dhcp_fqdn,
NMDhcpHostnameFlags hostname_flags,
const char * mud_url,
GBytes * dhcp_client_id,
guint32 timeout,
const char * dhcp_anycast_addr,
const char * last_ip_address,
GBytes * vendor_class_identifier,
const char *const * reject_servers,
GError ** error);
NMDhcpClient *nm_dhcp_manager_start_ip6(NMDhcpManager * manager,
struct _NMDedupMultiIndex *multi_idx,
const char * iface,
int ifindex,
const struct in6_addr * ll_addr,
const char * uuid,
guint32 route_table,
guint32 route_metric,
gboolean send_hostname,
const char * dhcp_hostname,
NMDhcpHostnameFlags hostname_flags,
const char * mud_url,
GBytes * duid,
gboolean enforce_duid,
guint32 iaid,
gboolean iaid_explicit,
guint32 timeout,
const char * dhcp_anycast_addr,
gboolean info_only,
NMSettingIP6ConfigPrivacy privacy,
guint needed_prefixes,
GError ** error);
/* For testing only */
extern const char *nm_dhcp_helper_path;
extern const NMDhcpClientFactory *const _nm_dhcp_manager_factories[6];
void nmtst_dhcp_manager_unget(gpointer singleton_instance);
#endif /* __NETWORKMANAGER_DHCP_MANAGER_H__ */
|