]>
Commit | Line | Data |
---|---|---|
53e1b683 | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
57fa1d09 TG |
2 | #pragma once |
3 | ||
07630cea LP |
4 | #include <inttypes.h> |
5 | #include <stdbool.h> | |
ad5944d7 | 6 | #include <sys/stat.h> |
07630cea LP |
7 | #include <sys/types.h> |
8 | ||
9 | #include "sd-device.h" | |
10 | ||
57fa1d09 TG |
11 | int device_new_from_nulstr(sd_device **ret, uint8_t *nulstr, size_t len); |
12 | int device_new_from_strv(sd_device **ret, char **strv); | |
ad5944d7 | 13 | int device_new_from_stat_rdev(sd_device **ret, const struct stat *st); |
57fa1d09 TG |
14 | |
15 | int device_get_id_filename(sd_device *device, const char **ret); | |
16 | ||
17 | int device_get_devlink_priority(sd_device *device, int *priority); | |
18 | int device_get_watch_handle(sd_device *device, int *handle); | |
19 | int device_get_devnode_mode(sd_device *device, mode_t *mode); | |
20 | int device_get_devnode_uid(sd_device *device, uid_t *uid); | |
21 | int device_get_devnode_gid(sd_device *device, gid_t *gid); | |
22 | ||
23 | void device_seal(sd_device *device); | |
24 | void device_set_is_initialized(sd_device *device); | |
25 | void device_set_watch_handle(sd_device *device, int fd); | |
26 | void device_set_db_persist(sd_device *device); | |
27 | void device_set_devlink_priority(sd_device *device, int priority); | |
813a71a2 | 28 | int device_ensure_usec_initialized(sd_device *device, sd_device *device_old); |
57fa1d09 TG |
29 | int device_add_devlink(sd_device *device, const char *devlink); |
30 | int device_add_property(sd_device *device, const char *property, const char *value); | |
31 | int device_add_tag(sd_device *device, const char *tag); | |
32 | void device_remove_tag(sd_device *device, const char *tag); | |
33 | void device_cleanup_tags(sd_device *device); | |
34 | void device_cleanup_devlinks(sd_device *device); | |
35 | ||
36 | uint64_t device_get_properties_generation(sd_device *device); | |
37 | uint64_t device_get_tags_generation(sd_device *device); | |
38 | uint64_t device_get_devlinks_generation(sd_device *device); | |
39 | ||
a3ce8136 | 40 | int device_properties_prepare(sd_device *device); |
57fa1d09 TG |
41 | int device_get_properties_nulstr(sd_device *device, const uint8_t **nulstr, size_t *len); |
42 | int device_get_properties_strv(sd_device *device, char ***strv); | |
43 | ||
44 | int device_rename(sd_device *device, const char *name); | |
45 | int device_shallow_clone(sd_device *old_device, sd_device **new_device); | |
46 | int device_clone_with_db(sd_device *old_device, sd_device **new_device); | |
47 | int device_copy_properties(sd_device *device_dst, sd_device *device_src); | |
48 | int device_new_from_synthetic_event(sd_device **new_device, const char *syspath, const char *action); | |
49 | ||
50 | int device_tag_index(sd_device *dev, sd_device *dev_old, bool add); | |
51 | int device_update_db(sd_device *device); | |
52 | int device_delete_db(sd_device *device); | |
b07d0f2a | 53 | int device_read_db_internal_filename(sd_device *device, const char *filename); /* For fuzzer */ |
ebcc52fa ZJS |
54 | int device_read_db_internal(sd_device *device, bool force); |
55 | static inline int device_read_db(sd_device *device) { | |
56 | return device_read_db_internal(device, false); | |
57 | } |