summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--udev/lib/libudev-device.c41
-rw-r--r--udev/lib/libudev-private.h6
-rw-r--r--udev/lib/libudev.c2
3 files changed, 47 insertions, 2 deletions
diff --git a/udev/lib/libudev-device.c b/udev/lib/libudev-device.c
index 578afe7ec2..ec0aa9ae5d 100644
--- a/udev/lib/libudev-device.c
+++ b/udev/lib/libudev-device.c
@@ -47,7 +47,10 @@ struct udev_device {
char *physdevpath;
int timeout;
dev_t devnum;
- long long int seqnum;
+ unsigned long long int seqnum;
+ int num_fake_partitions;
+ int link_priority;
+ int ignore_remove;
};
struct udev_device *device_init(struct udev *udev)
@@ -487,3 +490,39 @@ int device_set_devnum(struct udev_device *udev_device, dev_t devnum)
udev_device->devnum = devnum;
return 0;
}
+
+int device_get_num_fake_partitions(struct udev_device *udev_device)
+{
+ if (udev_device == NULL)
+ return -1;
+ return udev_device->num_fake_partitions;
+}
+
+int device_set_num_fake_partitions(struct udev_device *udev_device, int num)
+{
+ udev_device->num_fake_partitions = num;
+}
+
+int device_get_link_priority(struct udev_device *udev_device)
+{
+ if (udev_device == NULL)
+ return -1;
+ return udev_device->link_priority;
+}
+
+int device_set_link_priority(struct udev_device *udev_device, int prio)
+{
+ udev_device->link_priority = prio;
+}
+
+int device_get_ignore_remove(struct udev_device *udev_device)
+{
+ if (udev_device == NULL)
+ return -1;
+ return udev_device->ignore_remove;
+}
+
+int device_set_ignore_remove(struct udev_device *udev_device, int ignore)
+{
+ udev_device->ignore_remove = ignore;
+}
diff --git a/udev/lib/libudev-private.h b/udev/lib/libudev-private.h
index bc91927bed..9c54b01027 100644
--- a/udev/lib/libudev-private.h
+++ b/udev/lib/libudev-private.h
@@ -70,6 +70,12 @@ extern int device_get_timeout(struct udev_device *udev_device);
extern int device_set_timeout(struct udev_device *udev_device, int timeout);
extern int device_set_devnum(struct udev_device *udev_device, dev_t devnum);
extern int device_set_seqnum(struct udev_device *udev_device, unsigned long long int seqnum);
+extern int device_get_num_fake_partitions(struct udev_device *udev_device);
+extern int device_set_num_fake_partitions(struct udev_device *udev_device, int num);
+extern int device_get_link_priority(struct udev_device *udev_device);
+extern int device_set_link_priority(struct udev_device *udev_device, int prio);
+extern int device_get_ignore_remove(struct udev_device *udev_device);
+extern int device_set_ignore_remove(struct udev_device *udev_device, int ignore);
/* udev_ctrl - daemon runtime setup */
struct udev_ctrl;
diff --git a/udev/lib/libudev.c b/udev/lib/libudev.c
index 6239377ece..50fe0d1c89 100644
--- a/udev/lib/libudev.c
+++ b/udev/lib/libudev.c
@@ -48,7 +48,7 @@ struct udev {
int selinux_enabled;
security_context_t selinux_prev_scontext;
#endif
- int run:1;
+ int run;
};
void udev_log(struct udev *udev,