mirror of
https://github.com/systemd/systemd.git
synced 2025-03-31 14:50:15 +03:00
libudev: private - drop some functions from the internal API
This commit is contained in:
parent
2df959ec3b
commit
71ef8b3ac4
@ -161,7 +161,7 @@ _public_ dev_t udev_device_get_devnum(struct udev_device *udev_device)
|
||||
return udev_device->devnum;
|
||||
}
|
||||
|
||||
int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum)
|
||||
static int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum)
|
||||
{
|
||||
char num[32];
|
||||
|
||||
@ -258,7 +258,7 @@ static int udev_device_set_devtype(struct udev_device *udev_device, const char *
|
||||
return 0;
|
||||
}
|
||||
|
||||
int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem)
|
||||
static int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem)
|
||||
{
|
||||
free(udev_device->subsystem);
|
||||
udev_device->subsystem = strdup(subsystem);
|
||||
@ -392,6 +392,44 @@ static struct udev_list_entry *udev_device_add_property_from_string(struct udev_
|
||||
return udev_device_add_property(udev_device, name, val);
|
||||
}
|
||||
|
||||
static int udev_device_set_syspath(struct udev_device *udev_device, const char *syspath)
|
||||
{
|
||||
const char *pos;
|
||||
size_t len;
|
||||
|
||||
free(udev_device->syspath);
|
||||
udev_device->syspath = strdup(syspath);
|
||||
if (udev_device->syspath == NULL)
|
||||
return -ENOMEM;
|
||||
udev_device->devpath = udev_device->syspath + strlen("/sys");
|
||||
udev_device_add_property(udev_device, "DEVPATH", udev_device->devpath);
|
||||
|
||||
pos = strrchr(udev_device->syspath, '/');
|
||||
if (pos == NULL)
|
||||
return -EINVAL;
|
||||
udev_device->sysname = strdup(&pos[1]);
|
||||
if (udev_device->sysname == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
/* some devices have '!' in their name, change that to '/' */
|
||||
len = 0;
|
||||
while (udev_device->sysname[len] != '\0') {
|
||||
if (udev_device->sysname[len] == '!')
|
||||
udev_device->sysname[len] = '/';
|
||||
len++;
|
||||
}
|
||||
|
||||
/* trailing number */
|
||||
while (len > 0 && isdigit(udev_device->sysname[--len]))
|
||||
udev_device->sysnum = &udev_device->sysname[len];
|
||||
|
||||
/* sysname is completely numeric */
|
||||
if (len == 0)
|
||||
udev_device->sysnum = NULL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* parse property string, and if needed, update internal values accordingly
|
||||
*
|
||||
@ -637,7 +675,7 @@ void udev_device_set_info_loaded(struct udev_device *device)
|
||||
device->info_loaded = true;
|
||||
}
|
||||
|
||||
struct udev_device *udev_device_new(struct udev *udev)
|
||||
static struct udev_device *udev_device_new(struct udev *udev)
|
||||
{
|
||||
struct udev_device *udev_device;
|
||||
|
||||
@ -1607,44 +1645,6 @@ _public_ struct udev_list_entry *udev_device_get_sysattr_list_entry(struct udev_
|
||||
return udev_list_get_entry(&udev_device->sysattr_list);
|
||||
}
|
||||
|
||||
int udev_device_set_syspath(struct udev_device *udev_device, const char *syspath)
|
||||
{
|
||||
const char *pos;
|
||||
size_t len;
|
||||
|
||||
free(udev_device->syspath);
|
||||
udev_device->syspath = strdup(syspath);
|
||||
if (udev_device->syspath == NULL)
|
||||
return -ENOMEM;
|
||||
udev_device->devpath = udev_device->syspath + strlen("/sys");
|
||||
udev_device_add_property(udev_device, "DEVPATH", udev_device->devpath);
|
||||
|
||||
pos = strrchr(udev_device->syspath, '/');
|
||||
if (pos == NULL)
|
||||
return -EINVAL;
|
||||
udev_device->sysname = strdup(&pos[1]);
|
||||
if (udev_device->sysname == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
/* some devices have '!' in their name, change that to '/' */
|
||||
len = 0;
|
||||
while (udev_device->sysname[len] != '\0') {
|
||||
if (udev_device->sysname[len] == '!')
|
||||
udev_device->sysname[len] = '/';
|
||||
len++;
|
||||
}
|
||||
|
||||
/* trailing number */
|
||||
while (len > 0 && isdigit(udev_device->sysname[--len]))
|
||||
udev_device->sysnum = &udev_device->sysname[len];
|
||||
|
||||
/* sysname is completely numeric */
|
||||
if (len == 0)
|
||||
udev_device->sysnum = NULL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int udev_device_set_devnode(struct udev_device *udev_device, const char *devnode)
|
||||
{
|
||||
free(udev_device->devnode);
|
||||
|
@ -37,16 +37,12 @@
|
||||
int udev_get_rules_path(struct udev *udev, char **path[], usec_t *ts_usec[]);
|
||||
|
||||
/* libudev-device.c */
|
||||
struct udev_device *udev_device_new(struct udev *udev);
|
||||
struct udev_device *udev_device_new_from_nulstr(struct udev *udev, char *nulstr, ssize_t buflen);
|
||||
struct udev_device *udev_device_shallow_clone(struct udev_device *old_device);
|
||||
mode_t udev_device_get_devnode_mode(struct udev_device *udev_device);
|
||||
uid_t udev_device_get_devnode_uid(struct udev_device *udev_device);
|
||||
gid_t udev_device_get_devnode_gid(struct udev_device *udev_device);
|
||||
int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem);
|
||||
int udev_device_set_syspath(struct udev_device *udev_device, const char *syspath);
|
||||
int udev_device_rename(struct udev_device *udev_device, const char *new_name);
|
||||
int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum);
|
||||
int udev_device_add_devlink(struct udev_device *udev_device, const char *devlink);
|
||||
void udev_device_cleanup_devlinks_list(struct udev_device *udev_device);
|
||||
struct udev_list_entry *udev_device_add_property(struct udev_device *udev_device, const char *key, const char *value);
|
||||
|
Loading…
x
Reference in New Issue
Block a user