Line data Source code
1 : /* SPDX-License-Identifier: GPL-2.0+ */ 2 : #pragma once 3 : 4 : #include "hashmap.h" 5 : #include "time-util.h" 6 : #include "udev-util.h" 7 : 8 : typedef struct UdevRules UdevRules; 9 : typedef struct UdevEvent UdevEvent; 10 : 11 : typedef enum { 12 : ESCAPE_UNSET, 13 : ESCAPE_NONE, /* OPTIONS="string_escape=none" */ 14 : ESCAPE_REPLACE, /* OPTIONS="string_escape=replace" */ 15 : _ESCAPE_TYPE_MAX, 16 : _ESCAPE_TYPE_INVALID = -1 17 : } UdevRuleEscapeType; 18 : 19 : int udev_rules_new(UdevRules **ret_rules, ResolveNameTiming resolve_name_timing); 20 : UdevRules *udev_rules_free(UdevRules *rules); 21 0 : DEFINE_TRIVIAL_CLEANUP_FUNC(UdevRules*, udev_rules_free); 22 : 23 : bool udev_rules_check_timestamp(UdevRules *rules); 24 : int udev_rules_apply_to_event(UdevRules *rules, UdevEvent *event, 25 : usec_t timeout_usec, 26 : Hashmap *properties_list); 27 : int udev_rules_apply_static_dev_perms(UdevRules *rules);