Blame src/platform/nmp-rules-manager.h

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__ */