chiark / gitweb /
udev: libudev - bump soname, remove deprecated functions, introduce symbol versions
[elogind.git] / src / libudev / libudev-queue.c
index 72408d016606438917475cbf4c076d8b4d09acab..15a7f558b1dff40f74eaf66cfd90a52cae6fc0f8 100644 (file)
@@ -93,15 +93,16 @@ _public_ struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue)
  * Drop a reference of a udev queue context. If the refcount reaches zero,
  * the resources of the queue context will be released.
  **/
-_public_ void udev_queue_unref(struct udev_queue *udev_queue)
+_public_ struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue)
 {
         if (udev_queue == NULL)
-                return;
+                return NULL;
         udev_queue->refcount--;
         if (udev_queue->refcount > 0)
-                return;
+                return udev_queue;
         udev_list_cleanup(&udev_queue->queue_list);
         free(udev_queue);
+        return NULL;
 }
 
 /**
@@ -121,14 +122,12 @@ _public_ struct udev *udev_queue_get_udev(struct udev_queue *udev_queue)
 
 unsigned long long int udev_get_kernel_seqnum(struct udev *udev)
 {
-        char filename[UTIL_PATH_SIZE];
         unsigned long long int seqnum;
         int fd;
         char buf[32];
         ssize_t len;
 
-        util_strscpyl(filename, sizeof(filename), udev_get_sys_path(udev), "/kernel/uevent_seqnum", NULL);
-        fd = open(filename, O_RDONLY|O_CLOEXEC);
+        fd = open("/sys/kernel/uevent_seqnum", O_RDONLY|O_CLOEXEC);
         if (fd < 0)
                 return 0;
         len = read(fd, buf, sizeof(buf));
@@ -144,7 +143,9 @@ unsigned long long int udev_get_kernel_seqnum(struct udev *udev)
  * udev_queue_get_kernel_seqnum:
  * @udev_queue: udev queue context
  *
- * Returns: the current kernel event sequence number.
+ * Get the current kernel event sequence number.
+ *
+ * Returns: the sequence number.
  **/
 _public_ unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue)
 {
@@ -210,13 +211,13 @@ static FILE *open_queue_file(struct udev_queue *udev_queue, unsigned long long i
         char filename[UTIL_PATH_SIZE];
         FILE *queue_file;
 
-        util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev_queue->udev), "/queue.bin", NULL);
+        util_strscpyl(filename, sizeof(filename), "/run/udev/queue.bin", NULL);
         queue_file = fopen(filename, "re");
         if (queue_file == NULL)
                 return NULL;
 
         if (udev_queue_read_seqnum(queue_file, seqnum_start) < 0) {
-                err(udev_queue->udev, "corrupt queue file\n");
+                udev_err(udev_queue->udev, "corrupt queue file\n");
                 fclose(queue_file);
                 return NULL;
         }
@@ -228,7 +229,9 @@ static FILE *open_queue_file(struct udev_queue *udev_queue, unsigned long long i
  * udev_queue_get_udev_seqnum:
  * @udev_queue: udev queue context
  *
- * Returns: the last known udev event sequence number.
+ * Get the last known udev event sequence number.
+ *
+ * Returns: the sequence number.
  **/
 _public_ unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue)
 {
@@ -260,6 +263,8 @@ _public_ unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *ud
  * udev_queue_get_udev_is_active:
  * @udev_queue: udev queue context
  *
+ * Check if udev is active on the system.
+ *
  * Returns: a flag indicating if udev is active.
  **/
 _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue)
@@ -279,6 +284,8 @@ _public_ int udev_queue_get_udev_is_active(struct udev_queue *udev_queue)
  * udev_queue_get_queue_is_empty:
  * @udev_queue: udev queue context
  *
+ * Check if udev is currently processing any events.
+ *
  * Returns: a flag indicating if udev is currently handling events.
  **/
 _public_ int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue)
@@ -333,6 +340,8 @@ out:
  * @start: first event sequence number
  * @end: last event sequence number
  *
+ * Check if udev is currently processing any events in a given sequence number range.
+ *
  * Returns: a flag indicating if any of the sequence numbers in the given range is currently active.
  **/
 _public_ int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue,
@@ -395,6 +404,8 @@ _public_ int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_
  * @udev_queue: udev queue context
  * @seqnum: sequence number
  *
+ * Check if udev is currently processing a given sequence number.
+ *
  * Returns: a flag indicating if the given sequence number is currently active.
  **/
 _public_ int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum)
@@ -409,7 +420,9 @@ _public_ int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, un
  * udev_queue_get_queued_list_entry:
  * @udev_queue: udev queue context
  *
- * Returns: the first entry of the list of queued events.
+ * Get the first entry of the list of queued events.
+ *
+ * Returns: a udev_list_entry.
  **/
 _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue)
 {
@@ -437,7 +450,7 @@ _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_qu
                 snprintf(seqnum_str, sizeof(seqnum_str), "%llu", seqnum);
 
                 s = syspath;
-                l = util_strpcpyl(&s, sizeof(syspath), udev_get_sys_path(udev_queue->udev), NULL);
+                l = util_strpcpy(&s, sizeof(syspath), "/sys");
                 len = udev_queue_read_devpath(queue_file, s, l);
                 if (len < 0)
                         break;
@@ -457,10 +470,3 @@ _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_qu
 
         return udev_list_get_entry(&udev_queue->queue_list);
 }
-
-struct udev_list_entry *udev_queue_get_failed_list_entry(struct udev_queue *udev_queue);
-_public_ struct udev_list_entry *udev_queue_get_failed_list_entry(struct udev_queue *udev_queue)
-{
-        errno = ENOSYS;
-        return NULL;
-}