From 8321c7b55991ccf4d5e9e15c23098cccba294fef Mon Sep 17 00:00:00 2001 From: "Niklas.Waern" Date: Tue, 29 Jun 2010 19:25:26 +0200 Subject: [PATCH] libudev bindings in resource:extra --- extra/libudev/authors.txt | 1 + extra/libudev/libudev.factor | 446 +++++++++++++++++++++++++++++++++++ extra/libudev/platforms.txt | 1 + extra/libudev/summary.txt | 1 + extra/libudev/tags.txt | 1 + 5 files changed, 450 insertions(+) create mode 100644 extra/libudev/authors.txt create mode 100644 extra/libudev/libudev.factor create mode 100644 extra/libudev/platforms.txt create mode 100644 extra/libudev/summary.txt create mode 100644 extra/libudev/tags.txt diff --git a/extra/libudev/authors.txt b/extra/libudev/authors.txt new file mode 100644 index 0000000000..8e15658eb6 --- /dev/null +++ b/extra/libudev/authors.txt @@ -0,0 +1 @@ +Niklas Waern diff --git a/extra/libudev/libudev.factor b/extra/libudev/libudev.factor new file mode 100644 index 0000000000..17739d27ed --- /dev/null +++ b/extra/libudev/libudev.factor @@ -0,0 +1,446 @@ +! Copyright (C) 2010 Niklas Waern. +! See http://factorcode.org/license.txt for BSD license. +USING: alien alien.c-types alien.libraries alien.syntax +fry kernel sequences unix.types ; +IN: libudev + +<< "libudev" "libudev.so" cdecl add-library >> + +LIBRARY: libudev + +C-TYPE: udev + +FUNCTION: udev* udev_ref ( + udev* udev ) ; + + + +FUNCTION: void udev_unref ( + udev* udev ) ; + + + +FUNCTION: udev* udev_new ( ) ; + + + +CALLBACK: void udev_set_log_fn_callback ( + udev* udev + int priority, + c-string file, + int line, + c-string fn, + c-string format ) ; + ! va_list args ) ; +FUNCTION: void udev_set_log_fn ( + udev* udev, + udev_set_log_fn_callback log_fn ) ; + + + +FUNCTION: int udev_get_log_priority ( + udev* udev ) ; + + + +FUNCTION: void udev_set_log_priority ( + udev* udev, + int priority ) ; + + + +FUNCTION: c-string udev_get_sys_path ( + udev* udev ) ; + + + +FUNCTION: c-string udev_get_dev_path ( + udev* udev ) ; + + + +FUNCTION: void* udev_get_userdata ( + udev* udev ) ; + + + +FUNCTION: void udev_set_userdata ( + udev* udev, + void* userdata ) ; + + + +C-TYPE: udev_list_entry + +FUNCTION: udev_list_entry* udev_list_entry_get_next ( + udev_list_entry* list_entry ) ; + + + +FUNCTION: udev_list_entry* udev_list_entry_get_by_name ( + udev_list_entry* list_entry, + c-string name ) ; + + + +FUNCTION: c-string udev_list_entry_get_name ( + udev_list_entry* list_entry ) ; + + + +FUNCTION: c-string udev_list_entry_get_value ( + udev_list_entry* list_entry ) ; + + + +! Helper to iterate over all entries of a list. +: udev_list_entry_foreach ( ... first_entry quot: ( ... x -- ... ) -- ... ) + [ [ dup ] ] dip '[ [ @ ] keep udev_list_entry_get_next ] + while drop ; inline + +! Get all list entries _as_ a list +: udev-list-entries ( first_entry -- seq ) + [ ] collector [ udev_list_entry_foreach ] dip ; + + + +C-TYPE: udev_device + +FUNCTION: udev_device* udev_device_ref ( + udev_device* udev_device ) ; + + + +FUNCTION: void udev_device_unref ( + udev_device* udev_device ) ; + + + +FUNCTION: udev* udev_device_get_udev ( + udev_device* udev_device ) ; + + + +FUNCTION: udev_device* udev_device_new_from_syspath ( + udev* udev, + c-string syspath ) ; + + + +FUNCTION: udev_device* udev_device_new_from_devnum ( + udev* udev, + char type, + dev_t devnum ) ; + + + +FUNCTION: udev_device* udev_device_new_from_subsystem_sysname ( + udev* udev, + c-string subsystem, + c-string sysname ) ; + + + +FUNCTION: udev_device* udev_device_get_parent ( + udev_device* udev_device ) ; + + + +FUNCTION: udev_device* udev_device_get_parent_with_subsystem_devtype ( + udev_device* udev_device, + c-string subsystem, + c-string devtype ) ; + + + +FUNCTION: c-string udev_device_get_devpath ( + udev_device* udev_device ) ; + + + +FUNCTION: c-string udev_device_get_subsystem ( + udev_device* udev_device ) ; + + + +FUNCTION: c-string udev_device_get_devtype ( + udev_device* udev_device ) ; + + + +FUNCTION: c-string udev_device_get_syspath ( + udev_device* udev_device ) ; + + + +FUNCTION: c-string udev_device_get_sysname ( + udev_device* udev_device ) ; + + + +FUNCTION: c-string udev_device_get_sysnum ( + udev_device* udev_device ) ; + + + +FUNCTION: c-string udev_device_get_devnode ( + udev_device* udev_device ) ; + + + +FUNCTION: udev_list_entry* udev_device_get_devlinks_list_entry ( + udev_device* udev_device ) ; + + + +FUNCTION: udev_list_entry* udev_device_get_properties_list_entry ( + udev_device* udev_device ) ; + + + +FUNCTION: c-string udev_device_get_property_value ( + udev_device* udev_device, + c-string key ) ; + + + +FUNCTION: c-string udev_device_get_driver ( + udev_device* udev_device ) ; + + + +FUNCTION: dev_t udev_device_get_devnum ( + udev_device* udev_device ) ; + + + +FUNCTION: c-string udev_device_get_action ( + udev_device* udev_device ) ; + + + +FUNCTION: ulonglong udev_device_get_seqnum ( + udev_device* udev_device ) ; + + + +FUNCTION: c-string udev_device_get_sysattr_value ( + udev_device* udev_device, + c-string sysattr ) ; + + + +C-TYPE: udev_monitor + +FUNCTION: udev_monitor* udev_monitor_ref ( + udev_monitor* udev_monitor ) ; + + + +FUNCTION: void udev_monitor_unref ( + udev_monitor* udev_monitor ) ; + + + +FUNCTION: udev* udev_monitor_get_udev ( + udev_monitor* udev_monitor ) ; + + + +FUNCTION: udev_monitor* udev_monitor_new_from_netlink ( + udev* udev, + c-string name ) ; + + + +FUNCTION: udev_monitor* udev_monitor_new_from_socket ( + udev* udev, + c-string socket_path ) ; + + + +FUNCTION: int udev_monitor_enable_receiving ( + udev_monitor* udev_monitor ) ; + + + +FUNCTION: int udev_monitor_set_receive_buffer_size ( + udev_monitor* udev_monitor, + int size ) ; + + + +FUNCTION: int udev_monitor_get_fd ( + udev_monitor* udev_monitor ) ; + + + +FUNCTION: udev_device* udev_monitor_receive_device ( + udev_monitor* udev_monitor ) ; + + + +FUNCTION: int udev_monitor_filter_add_match_subsystem_devtype ( + udev_monitor* udev_monitor, + c-string subsystem, + c-string devtype ) ; + + + +FUNCTION: int udev_monitor_filter_update ( + udev_monitor* udev_monitor ) ; + + + +FUNCTION: int udev_monitor_filter_remove ( + udev_monitor* udev_monitor ) ; + + + +C-TYPE: udev_enumerate + +FUNCTION: udev_enumerate* udev_enumerate_ref ( + udev_enumerate* udev_enumerate ) ; + + + +FUNCTION: void udev_enumerate_unref ( + udev_enumerate* udev_enumerate ) ; + + + +FUNCTION: udev* udev_enumerate_get_udev ( + udev_enumerate* udev_enumerate ) ; + + + +FUNCTION: udev_enumerate* udev_enumerate_new ( + udev* udev ) ; + + + +FUNCTION: int udev_enumerate_add_match_subsystem ( + udev_enumerate* udev_enumerate, + c-string subsystem ) ; + + + +FUNCTION: int udev_enumerate_add_nomatch_subsystem ( + udev_enumerate* udev_enumerate, + c-string subsystem ) ; + + + +FUNCTION: int udev_enumerate_add_match_sysattr ( + udev_enumerate* udev_enumerate, + c-string sysattr, + c-string value ) ; + + + +FUNCTION: int udev_enumerate_add_nomatch_sysattr ( + udev_enumerate* udev_enumerate, + c-string sysattr, + c-string value ) ; + + + +FUNCTION: int udev_enumerate_add_match_property ( + udev_enumerate* udev_enumerate, + c-string property, + c-string value ) ; + + + +FUNCTION: int udev_enumerate_add_match_sysname ( + udev_enumerate* udev_enumerate, + c-string sysname ) ; + + + +FUNCTION: int udev_enumerate_add_syspath ( + udev_enumerate* udev_enumerate, + c-string syspath ) ; + + + +FUNCTION: int udev_enumerate_scan_devices ( + udev_enumerate* udev_enumerate ) ; + + + +FUNCTION: int udev_enumerate_scan_subsystems ( + udev_enumerate* udev_enumerate ) ; + + + +FUNCTION: udev_list_entry* udev_enumerate_get_list_entry ( + udev_enumerate* udev_enumerate ) ; + + + +C-TYPE: udev_queue + +FUNCTION: udev_queue* udev_queue_ref ( + udev_queue* udev_queue ) ; + + + +FUNCTION: void udev_queue_unref ( + udev_queue* udev_queue ) ; + + + +FUNCTION: udev* udev_queue_get_udev ( + udev_queue* udev_queue ) ; + + + +FUNCTION: udev_queue* udev_queue_new ( + udev* udev ) ; + + + +FUNCTION: ulonglong udev_queue_get_kernel_seqnum ( + udev_queue* udev_queue ) ; + + + +FUNCTION: ulonglong udev_queue_get_udev_seqnum ( + udev_queue* udev_queue ) ; + + + +FUNCTION: int udev_queue_get_udev_is_active ( + udev_queue* udev_queue ) ; + + + +FUNCTION: int udev_queue_get_queue_is_empty ( + udev_queue* udev_queue ) ; + + + +FUNCTION: int udev_queue_get_seqnum_is_finished ( + udev_queue* udev_queue, + ulonglong seqnum ) ; + + + +FUNCTION: int udev_queue_get_seqnum_sequence_is_finished ( + udev_queue* udev_queue, + ulonglong start, + ulonglong end ) ; + + + +FUNCTION: udev_list_entry* udev_queue_get_queued_list_entry ( + udev_queue* udev_queue ) ; + + + +FUNCTION: udev_list_entry* udev_queue_get_failed_list_entry ( + udev_queue* udev_queue ) ; + + + diff --git a/extra/libudev/platforms.txt b/extra/libudev/platforms.txt new file mode 100644 index 0000000000..a08e1f35eb --- /dev/null +++ b/extra/libudev/platforms.txt @@ -0,0 +1 @@ +linux diff --git a/extra/libudev/summary.txt b/extra/libudev/summary.txt new file mode 100644 index 0000000000..044b37b35f --- /dev/null +++ b/extra/libudev/summary.txt @@ -0,0 +1 @@ +Bindings to libudev diff --git a/extra/libudev/tags.txt b/extra/libudev/tags.txt new file mode 100644 index 0000000000..bb863cf9a0 --- /dev/null +++ b/extra/libudev/tags.txt @@ -0,0 +1 @@ +bindings