|
Packit Service |
87a54e |
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
#ifndef __NMP_RULES_MANAGER_H__
|
|
Packit |
5756e2 |
#define __NMP_RULES_MANAGER_H__
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
#include "nm-platform.h"
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
/*****************************************************************************/
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
#define NMP_RULES_MANAGER_EXTERN_WEAKLY_TRACKED_USER_TAG ((const void *) nmp_rules_manager_new)
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
typedef struct _NMPRulesManager NMPRulesManager;
|
|
Packit |
5756e2 |
|
|
Packit Service |
a1bd4f |
NMPRulesManager *nmp_rules_manager_new(NMPlatform *platform);
|
|
Packit |
5756e2 |
|
|
Packit Service |
a1bd4f |
void nmp_rules_manager_ref(NMPRulesManager *self);
|
|
Packit Service |
a1bd4f |
void nmp_rules_manager_unref(NMPRulesManager *self);
|
|
Packit |
5756e2 |
|
|
Packit Service |
a1bd4f |
#define nm_auto_unref_rules_manager nm_auto(_nmp_rules_manager_unref)
|
|
Packit Service |
a1bd4f |
NM_AUTO_DEFINE_FCN0(NMPRulesManager *, _nmp_rules_manager_unref, nmp_rules_manager_unref);
|
|
Packit |
5756e2 |
|
|
Packit Service |
a1bd4f |
void nmp_rules_manager_track(NMPRulesManager * self,
|
|
Packit Service |
a1bd4f |
const NMPlatformRoutingRule *routing_rule,
|
|
Packit Service |
a1bd4f |
gint32 track_priority,
|
|
Packit Service |
a1bd4f |
gconstpointer user_tag,
|
|
Packit Service |
a1bd4f |
gconstpointer user_tag_untrack);
|
|
Packit |
5756e2 |
|
|
Packit Service |
a1bd4f |
void nmp_rules_manager_track_default(NMPRulesManager *self,
|
|
Packit Service |
a1bd4f |
int addr_family,
|
|
Packit Service |
a1bd4f |
gint32 track_priority,
|
|
Packit Service |
a1bd4f |
gconstpointer user_tag);
|
|
Packit |
5756e2 |
|
|
Packit Service |
a1bd4f |
void nmp_rules_manager_track_from_platform(NMPRulesManager *self,
|
|
Packit Service |
a1bd4f |
NMPlatform * platform,
|
|
Packit Service |
a1bd4f |
int addr_family,
|
|
Packit Service |
a1bd4f |
gint32 tracking_priority,
|
|
Packit Service |
a1bd4f |
gconstpointer user_tag);
|
|
Packit |
5756e2 |
|
|
Packit Service |
a1bd4f |
void nmp_rules_manager_untrack(NMPRulesManager * self,
|
|
Packit Service |
a1bd4f |
const NMPlatformRoutingRule *routing_rule,
|
|
Packit Service |
a1bd4f |
gconstpointer user_tag);
|
|
Packit |
5756e2 |
|
|
Packit Service |
a1bd4f |
void nmp_rules_manager_set_dirty(NMPRulesManager *self, gconstpointer user_tag);
|
|
Packit |
5756e2 |
|
|
Packit Service |
a1bd4f |
void nmp_rules_manager_untrack_all(NMPRulesManager *self,
|
|
Packit Service |
a1bd4f |
gconstpointer user_tag,
|
|
Packit Service |
a1bd4f |
gboolean all /* or only dirty */);
|
|
Packit |
5756e2 |
|
|
Packit Service |
a1bd4f |
void nmp_rules_manager_sync(NMPRulesManager *self, gboolean keep_deleted_rules);
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
/*****************************************************************************/
|
|
Packit |
5756e2 |
|
|
Packit |
5756e2 |
#endif /* __NMP_RULES_MANAGER_H__ */
|