447 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			447 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Factor
		
	
	
| ! 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 ) ;
 | |
| 
 | |
| 
 | |
| 
 |