]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/libsystemd/sd-device/device-private.h
Add SPDX license identifiers to source files under the LGPL
[thirdparty/systemd.git] / src / libsystemd / sd-device / device-private.h
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
57fa1d09
TG
2#pragma once
3
4/***
5 This file is part of systemd.
6
7 Copyright 2014 Tom Gundersen <teg@jklm.no>
8
9 systemd is free software; you can redistribute it and/or modify it
10 under the terms of the GNU Lesser General Public License as published by
11 the Free Software Foundation; either version 2.1 of the License, or
12 (at your option) any later version.
13
14 systemd is distributed in the hope that it will be useful, but
15 WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 Lesser General Public License for more details.
18
19 You should have received a copy of the GNU Lesser General Public License
20 along with systemd; If not, see <http://www.gnu.org/licenses/>.
21***/
22
07630cea
LP
23#include <inttypes.h>
24#include <stdbool.h>
25#include <sys/types.h>
26
27#include "sd-device.h"
28
57fa1d09
TG
29int device_new_from_nulstr(sd_device **ret, uint8_t *nulstr, size_t len);
30int device_new_from_strv(sd_device **ret, char **strv);
31
32int device_get_id_filename(sd_device *device, const char **ret);
33
34int device_get_devlink_priority(sd_device *device, int *priority);
35int device_get_watch_handle(sd_device *device, int *handle);
36int device_get_devnode_mode(sd_device *device, mode_t *mode);
37int device_get_devnode_uid(sd_device *device, uid_t *uid);
38int device_get_devnode_gid(sd_device *device, gid_t *gid);
39
40void device_seal(sd_device *device);
41void device_set_is_initialized(sd_device *device);
42void device_set_watch_handle(sd_device *device, int fd);
43void device_set_db_persist(sd_device *device);
44void device_set_devlink_priority(sd_device *device, int priority);
813a71a2 45int device_ensure_usec_initialized(sd_device *device, sd_device *device_old);
57fa1d09
TG
46int device_add_devlink(sd_device *device, const char *devlink);
47int device_add_property(sd_device *device, const char *property, const char *value);
48int device_add_tag(sd_device *device, const char *tag);
49void device_remove_tag(sd_device *device, const char *tag);
50void device_cleanup_tags(sd_device *device);
51void device_cleanup_devlinks(sd_device *device);
52
53uint64_t device_get_properties_generation(sd_device *device);
54uint64_t device_get_tags_generation(sd_device *device);
55uint64_t device_get_devlinks_generation(sd_device *device);
56
57int device_get_properties_nulstr(sd_device *device, const uint8_t **nulstr, size_t *len);
58int device_get_properties_strv(sd_device *device, char ***strv);
59
60int device_rename(sd_device *device, const char *name);
61int device_shallow_clone(sd_device *old_device, sd_device **new_device);
62int device_clone_with_db(sd_device *old_device, sd_device **new_device);
63int device_copy_properties(sd_device *device_dst, sd_device *device_src);
64int device_new_from_synthetic_event(sd_device **new_device, const char *syspath, const char *action);
65
66int device_tag_index(sd_device *dev, sd_device *dev_old, bool add);
67int device_update_db(sd_device *device);
68int device_delete_db(sd_device *device);
107f2e25 69int device_read_db_force(sd_device *device);