mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-03-01 08:00:40 +01:00
Currently "src/" mostly contains the source code of the daemon. I say mostly, because that is not true, there are also the device, settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp helper, and probably more. Also we have source code under libnm-core/, libnm/, clients/, and shared/ directories. That is all confusing. We should have one "src" directory, that contains subdirectories. Those subdirectories should contain individual parts (libraries or applications), that possibly have dependencies on other subdirectories. There should be a flat hierarchy of directories under src/, which contains individual modules. As the name "src/" is already taken, that prevents any sensible restructuring of the code. As a first step, move "src/" to "src/core/". This gives space to reorganize the code better by moving individual components into "src/". For inspiration, look at systemd's "src/" directory. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
73 lines
3.1 KiB
C
73 lines
3.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright (C) 2011 Thomas Bechtold <thomasbechtold@jpberlin.de>
|
|
* Copyright (C) 2017 Red Hat, Inc.
|
|
*/
|
|
|
|
#ifndef __NETWORKMANAGER_CONNECTIVITY_H__
|
|
#define __NETWORKMANAGER_CONNECTIVITY_H__
|
|
|
|
#include "nm-dbus-interface.h"
|
|
|
|
/*****************************************************************************/
|
|
|
|
static inline int
|
|
nm_connectivity_state_cmp(NMConnectivityState a, NMConnectivityState b)
|
|
{
|
|
if (a == NM_CONNECTIVITY_PORTAL && b == NM_CONNECTIVITY_LIMITED)
|
|
return 1;
|
|
if (b == NM_CONNECTIVITY_PORTAL && a == NM_CONNECTIVITY_LIMITED)
|
|
return -1;
|
|
NM_CMP_DIRECT(a, b);
|
|
return 0;
|
|
}
|
|
|
|
/*****************************************************************************/
|
|
|
|
#define NM_CONNECTIVITY_ERROR ((NMConnectivityState) -1)
|
|
#define NM_CONNECTIVITY_FAKE ((NMConnectivityState) -2)
|
|
#define NM_CONNECTIVITY_CANCELLED ((NMConnectivityState) -3)
|
|
#define NM_CONNECTIVITY_DISPOSING ((NMConnectivityState) -4)
|
|
|
|
#define NM_TYPE_CONNECTIVITY (nm_connectivity_get_type())
|
|
#define NM_CONNECTIVITY(obj) \
|
|
(G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_CONNECTIVITY, NMConnectivity))
|
|
#define NM_CONNECTIVITY_CLASS(klass) \
|
|
(G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_CONNECTIVITY, NMConnectivityClass))
|
|
#define NM_IS_CONNECTIVITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_CONNECTIVITY))
|
|
#define NM_IS_CONNECTIVITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_CONNECTIVITY))
|
|
#define NM_CONNECTIVITY_GET_CLASS(obj) \
|
|
(G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_CONNECTIVITY, NMConnectivityClass))
|
|
|
|
#define NM_CONNECTIVITY_CONFIG_CHANGED "config-changed"
|
|
|
|
typedef struct _NMConnectivityClass NMConnectivityClass;
|
|
|
|
GType nm_connectivity_get_type(void);
|
|
|
|
NMConnectivity *nm_connectivity_get(void);
|
|
|
|
const char *nm_connectivity_state_to_string(NMConnectivityState state);
|
|
|
|
gboolean nm_connectivity_check_enabled(NMConnectivity *self);
|
|
|
|
guint nm_connectivity_get_interval(NMConnectivity *self);
|
|
|
|
typedef struct _NMConnectivityCheckHandle NMConnectivityCheckHandle;
|
|
|
|
typedef void (*NMConnectivityCheckCallback)(NMConnectivity * self,
|
|
NMConnectivityCheckHandle *handle,
|
|
NMConnectivityState state,
|
|
gpointer user_data);
|
|
|
|
NMConnectivityCheckHandle *nm_connectivity_check_start(NMConnectivity * self,
|
|
int family,
|
|
NMPlatform * platform,
|
|
int ifindex,
|
|
const char * iface,
|
|
NMConnectivityCheckCallback callback,
|
|
gpointer user_data);
|
|
|
|
void nm_connectivity_check_cancel(NMConnectivityCheckHandle *handle);
|
|
|
|
#endif /* __NETWORKMANAGER_CONNECTIVITY_H__ */
|