X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev%2Flib%2Flibudev-private.h;h=2f8b8259b5ffa7d07e4846fe6c18b536d873102b;hp=f2814c4ad6698476dc00c7d4eb9cacfb09159bb0;hb=1e78dcbe51419124846e1f35e540cb0253362231;hpb=3feeb77c97a62cbb714bb95ed38ec8c44cb459ce diff --git a/udev/lib/libudev-private.h b/udev/lib/libudev-private.h index f2814c4ad..2f8b8259b 100644 --- a/udev/lib/libudev-private.h +++ b/udev/lib/libudev-private.h @@ -62,6 +62,7 @@ extern void udev_device_cleanup_devlinks_list(struct udev_device *udev_device); extern struct udev_list_entry *udev_device_add_property(struct udev_device *udev_device, const char *key, const char *value); extern struct udev_list_entry *udev_device_add_property_from_string(struct udev_device *udev_device, const char *property); extern char **udev_device_get_properties_envp(struct udev_device *udev_device); +extern ssize_t udev_device_get_properties_monitor_buf(struct udev_device *udev_device, const char **buf); extern int udev_device_read_db(struct udev_device *udev_device); extern int udev_device_read_uevent_file(struct udev_device *udev_device); extern int udev_device_set_action(struct udev_device *udev_device, const char *action); @@ -91,6 +92,7 @@ extern int udev_device_rename_db(struct udev_device *udev_device, const char *de /* libudev-monitor - netlink/unix socket communication */ extern int udev_monitor_send_device(struct udev_monitor *udev_monitor, struct udev_device *udev_device); +extern int udev_monitor_set_receive_buffer_size(struct udev_monitor *udev_monitor, int size); /* libudev-ctrl - daemon runtime setup */ struct udev_ctrl; @@ -123,19 +125,30 @@ struct udev_list_node { struct udev_list_node *next, *prev; }; extern void udev_list_init(struct udev_list_node *list); -extern void udev_list_cleanup(struct udev *udev, struct udev_list_node *name_list); +extern int udev_list_is_empty(struct udev_list_node *list); +extern void udev_list_node_append(struct udev_list_node *new, struct udev_list_node *list); +extern void udev_list_node_remove(struct udev_list_node *entry); +#define udev_list_node_foreach(node, list) \ + for (node = (list)->next; \ + node != list; \ + node = (node)->next) +#define udev_list_node_foreach_safe(node, tmp, list) \ + for (node = (list)->next, tmp = (node)->next; \ + node != list; \ + node = tmp, tmp = (tmp)->next) extern struct udev_list_entry *udev_list_entry_add(struct udev *udev, struct udev_list_node *list, const char *name, const char *value, int unique, int sort); +extern void udev_list_entry_delete(struct udev_list_entry *entry); extern void udev_list_entry_remove(struct udev_list_entry *entry); +extern void udev_list_entry_insert_before(struct udev_list_entry *new, struct udev_list_entry *entry); +extern void udev_list_entry_append(struct udev_list_entry *new, struct udev_list_node *list); +extern void udev_list_cleanup_entries(struct udev *udev, struct udev_list_node *name_list); extern struct udev_list_entry *udev_list_get_entry(struct udev_list_node *list); -extern void udev_list_entry_move_to_end(struct udev_list_entry *list_entry); -extern void udev_list_entry_move_before(struct udev_list_entry *list_entry, struct udev_list_entry *entry); extern int udev_list_entry_get_flag(struct udev_list_entry *list_entry); extern void udev_list_entry_set_flag(struct udev_list_entry *list_entry, int flag); #define udev_list_entry_foreach_safe(entry, tmp, first) \ - for (entry = first, \ - tmp = udev_list_entry_get_next(entry); \ + for (entry = first, tmp = udev_list_entry_get_next(entry); \ entry != NULL; \ entry = tmp, tmp = udev_list_entry_get_next(tmp))