2020-11-09 05:25:50 +01:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
2019-04-25 01:21:11 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "hashmap.h"
|
|
|
|
#include "time-util.h"
|
|
|
|
#include "udev-util.h"
|
|
|
|
|
|
|
|
typedef struct UdevRules UdevRules;
|
|
|
|
typedef struct UdevEvent UdevEvent;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
ESCAPE_UNSET,
|
|
|
|
ESCAPE_NONE, /* OPTIONS="string_escape=none" */
|
|
|
|
ESCAPE_REPLACE, /* OPTIONS="string_escape=replace" */
|
|
|
|
_ESCAPE_TYPE_MAX,
|
|
|
|
_ESCAPE_TYPE_INVALID = -1
|
|
|
|
} UdevRuleEscapeType;
|
|
|
|
|
2020-06-23 17:58:33 +02:00
|
|
|
int udev_rules_parse_file(UdevRules *rules, const char *filename);
|
|
|
|
UdevRules* udev_rules_new(ResolveNameTiming resolve_name_timing);
|
|
|
|
int udev_rules_load(UdevRules **ret_rules, ResolveNameTiming resolve_name_timing);
|
2019-04-25 01:21:11 +02:00
|
|
|
UdevRules *udev_rules_free(UdevRules *rules);
|
|
|
|
DEFINE_TRIVIAL_CLEANUP_FUNC(UdevRules*, udev_rules_free);
|
|
|
|
|
|
|
|
bool udev_rules_check_timestamp(UdevRules *rules);
|
|
|
|
int udev_rules_apply_to_event(UdevRules *rules, UdevEvent *event,
|
|
|
|
usec_t timeout_usec,
|
2020-04-09 11:14:25 +02:00
|
|
|
int timeout_signal,
|
2019-04-25 01:21:11 +02:00
|
|
|
Hashmap *properties_list);
|
|
|
|
int udev_rules_apply_static_dev_perms(UdevRules *rules);
|