forked from enlightenment/efl
dox overhaul, should be easier to navigate now
SVN revision: 49147
This commit is contained in:
parent
7ca4deb698
commit
54959ad476
|
@ -21,94 +21,139 @@
|
|||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup Subsystem_Types Subsystem_Types
|
||||
* @file Eeze.h
|
||||
* @brief Easy device manipulation.
|
||||
*
|
||||
* ac97
|
||||
* acpi
|
||||
* bdi
|
||||
* block
|
||||
* bsg
|
||||
* dmi
|
||||
* graphics
|
||||
* hid
|
||||
* hwmon
|
||||
* i2c
|
||||
* input
|
||||
* mem
|
||||
* misc
|
||||
* net
|
||||
* pci
|
||||
* pci_bus
|
||||
* pci_express
|
||||
* platform
|
||||
* pnp
|
||||
* rtc
|
||||
* scsi
|
||||
* scsi_device
|
||||
* scsi_disk
|
||||
* scsi_generic
|
||||
* scsi_host
|
||||
* serio
|
||||
* sound
|
||||
* thermal
|
||||
* tty
|
||||
* usb
|
||||
* usb_device
|
||||
* vc
|
||||
* vtconsole
|
||||
* This header provides Eeze device handling functions. Included are
|
||||
* types and defines for accessing udev, mounting devices, and others.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup subsystems Subsystems
|
||||
* @brief These are the device subsystems of udev.
|
||||
*
|
||||
* - ac97
|
||||
* - acpi
|
||||
* - bdi
|
||||
* - block
|
||||
* - bsg
|
||||
* - dmi
|
||||
* - graphics
|
||||
* - hid
|
||||
* - hwmon
|
||||
* - i2c
|
||||
* - input
|
||||
* - mem
|
||||
* - misc
|
||||
* - net
|
||||
* - pci
|
||||
* - pci_bus
|
||||
* - pci_express
|
||||
* - platform
|
||||
* - pnp
|
||||
* - rtc
|
||||
* - scsi
|
||||
* - scsi_device
|
||||
* - scsi_disk
|
||||
* - scsi_generic
|
||||
* - scsi_host
|
||||
* - serio
|
||||
* - sound
|
||||
* - thermal
|
||||
* - tty
|
||||
* - usb
|
||||
* - usb_device
|
||||
* - vc
|
||||
* - vtconsole
|
||||
*
|
||||
* @ingroup udev
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup Device_Types Device_Types
|
||||
* @defgroup devices Device_Types
|
||||
* @brief These are the devtypes of udev.
|
||||
*
|
||||
* atapi
|
||||
* audio
|
||||
* block
|
||||
* cd
|
||||
* char
|
||||
* disk
|
||||
* floppy
|
||||
* generic
|
||||
* hid
|
||||
* hub
|
||||
* media
|
||||
* optical
|
||||
* printer
|
||||
* rbc
|
||||
* scsi
|
||||
* storage
|
||||
* tape
|
||||
* video
|
||||
* - atapi
|
||||
* - audio
|
||||
* - block
|
||||
* - cd
|
||||
* - char
|
||||
* - disk
|
||||
* - floppy
|
||||
* - generic
|
||||
* - hid
|
||||
* - hub
|
||||
* - media
|
||||
* - optical
|
||||
* - printer
|
||||
* - rbc
|
||||
* - scsi
|
||||
* - storage
|
||||
* - tape
|
||||
* - video
|
||||
*
|
||||
* @ingroup udev
|
||||
*/
|
||||
|
||||
/*bitmasks for watch events*/
|
||||
#define EEZE_UDEV_EVENT_NONE 0x0000
|
||||
#define EEZE_UDEV_EVENT_ADD 0x0001
|
||||
#define EEZE_UDEV_EVENT_REMOVE 0x0002
|
||||
#define EEZE_UDEV_EVENT_CHANGE 0x0004
|
||||
#define EEZE_UDEV_EVENT_ONLINE 0x0008
|
||||
#define EEZE_UDEV_EVENT_OFFLINE 0x0010
|
||||
/**
|
||||
* @defgroup event EEZE_UDEV_EVENT
|
||||
* @brief These are event types used in udev functions.
|
||||
* @ingroup udev
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** - No event specified */
|
||||
#define EEZE_UDEV_EVENT_NONE 0x0000
|
||||
/** - Device added */
|
||||
#define EEZE_UDEV_EVENT_ADD 0x0001
|
||||
/** - Device removed */
|
||||
#define EEZE_UDEV_EVENT_REMOVE 0x0002
|
||||
/** - Device changed */
|
||||
#define EEZE_UDEV_EVENT_CHANGE 0x0004
|
||||
/** - Device has come online */
|
||||
#define EEZE_UDEV_EVENT_ONLINE 0x0008
|
||||
/** - Device has gone offline */
|
||||
#define EEZE_UDEV_EVENT_OFFLINE 0x0010
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* @defgroup type Eeze_Udev_Type
|
||||
* @brief Convenience types to simplify udev access.
|
||||
*
|
||||
* These types allow easy access to certain udev device types. They
|
||||
* may only be used in specified functions.
|
||||
*
|
||||
* @ingroup udev
|
||||
* @{
|
||||
*/
|
||||
/*FIXME: these probably need to be bitmasks with categories*/
|
||||
typedef enum
|
||||
{
|
||||
{ /** - No type */
|
||||
EEZE_UDEV_TYPE_NONE,
|
||||
/** - Keyboard device */
|
||||
EEZE_UDEV_TYPE_KEYBOARD,
|
||||
/** - Mouse device */
|
||||
EEZE_UDEV_TYPE_MOUSE,
|
||||
/** - Touchpad device */
|
||||
EEZE_UDEV_TYPE_TOUCHPAD,
|
||||
/** - Mountable drive */
|
||||
EEZE_UDEV_TYPE_DRIVE_MOUNTABLE,
|
||||
/** - Internal drive */
|
||||
EEZE_UDEV_TYPE_DRIVE_INTERNAL,
|
||||
/** - Removable drive */
|
||||
EEZE_UDEV_TYPE_DRIVE_REMOVABLE,
|
||||
/** - cd drive */
|
||||
EEZE_UDEV_TYPE_DRIVE_CDROM,
|
||||
/** - AC adapter */
|
||||
EEZE_UDEV_TYPE_POWER_AC,
|
||||
/** - Battery */
|
||||
EEZE_UDEV_TYPE_POWER_BAT,
|
||||
/** - Temperature sensor */
|
||||
EEZE_UDEV_TYPE_IS_IT_HOT_OR_IS_IT_COLD_SENSOR
|
||||
/* EEZE_UDEV_TYPE_ANDROID */
|
||||
} Eeze_Udev_Type;
|
||||
/**@}*/
|
||||
|
||||
struct Eeze_Udev_Watch;
|
||||
typedef struct Eeze_Udev_Watch Eeze_Udev_Watch;
|
||||
|
@ -126,6 +171,7 @@ extern "C" {
|
|||
EAPI Eina_List *eeze_udev_find_by_type(const Eeze_Udev_Type type, const char *name);
|
||||
EAPI Eina_List *eeze_udev_find_by_filter(const char *subsystem, const char *type, const char *name);
|
||||
|
||||
EAPI const char *eeze_udev_devpath_get_syspath(const char *devpath);
|
||||
EAPI const char *eeze_udev_syspath_get_parent(const char *syspath);
|
||||
EAPI Eina_List *eeze_udev_syspath_get_parents(const char *syspath);
|
||||
EAPI const char *eeze_udev_syspath_get_devpath(const char *syspath);
|
||||
|
@ -133,9 +179,6 @@ extern "C" {
|
|||
EAPI const char *eeze_udev_syspath_get_property(const char *syspath, const char *property);
|
||||
EAPI const char *eeze_udev_syspath_get_sysattr(const char *syspath, const char *sysattr);
|
||||
|
||||
EAPI const char *eeze_udev_devpath_get_syspath(const char *devpath);
|
||||
EAPI const char *eeze_udev_devpath_get_subsystem(const char *devpath);
|
||||
|
||||
EAPI Eina_Bool eeze_udev_syspath_is_mouse(const char *syspath);
|
||||
EAPI Eina_Bool eeze_udev_syspath_is_kbd(const char *syspath);
|
||||
EAPI Eina_Bool eeze_udev_syspath_is_touchpad(const char *syspath);
|
||||
|
|
|
@ -6,7 +6,7 @@ lib_LTLIBRARIES = libeeze.la
|
|||
include_HEADERS = Eeze.h
|
||||
|
||||
libeeze_la_SOURCES = \
|
||||
eeze_udev.c \
|
||||
eeze_udev_syspath.c \
|
||||
eeze_udev_watch.c \
|
||||
eeze_main.c \
|
||||
eeze_udev_find.c \
|
||||
|
|
|
@ -6,11 +6,34 @@
|
|||
#include "eeze_private.h"
|
||||
#include "eeze_udev_private.h"
|
||||
|
||||
/**
|
||||
* @defgroup udev udev
|
||||
*
|
||||
* These are functions which interact directly with udev.
|
||||
*/
|
||||
|
||||
_udev *udev;
|
||||
|
||||
int _eeze_log_dom = -1;
|
||||
int _eeze_init_count = 0;
|
||||
|
||||
|
||||
/**
|
||||
* @defgroup main main
|
||||
*
|
||||
* These are general eeze functions which include init and shutdown.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Initialize the eeze library.
|
||||
* @return The number of times the function has been called, or -1 on failure.
|
||||
*
|
||||
* This function should be called prior to using any eeze functions, and MUST
|
||||
* be called prior to using any udev functions to avoid a segv.
|
||||
*
|
||||
* @ingroup main
|
||||
*/
|
||||
EAPI int
|
||||
eeze_init(void)
|
||||
{
|
||||
|
@ -43,6 +66,15 @@ fail:
|
|||
return _eeze_init_count;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shut down the eeze library.
|
||||
* @return The number of times the eeze_init has been called, or -1 when
|
||||
* all occurrences of eeze have been shut down.
|
||||
*
|
||||
* This function should be called when no further eeze functions will be called.
|
||||
*
|
||||
* @ingroup main
|
||||
*/
|
||||
EAPI int
|
||||
eeze_shutdown(void)
|
||||
{
|
||||
|
|
|
@ -8,6 +8,14 @@
|
|||
|
||||
extern _udev *udev;
|
||||
|
||||
/**
|
||||
* @defgroup find Find
|
||||
*
|
||||
* These are functions which find/supplement lists of devices.
|
||||
*
|
||||
* @ingroup udev
|
||||
*/
|
||||
|
||||
/**
|
||||
* Returns a list of all syspaths that are (or should be) the same
|
||||
* device as the device pointed at by @p syspath.
|
||||
|
@ -15,7 +23,7 @@ extern _udev *udev;
|
|||
* @param syspath The syspath of the device to find matches for
|
||||
* @return All devices which are the same as the one passed
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup find
|
||||
*/
|
||||
EAPI Eina_List *
|
||||
eeze_udev_find_similar_from_syspath(const char *syspath)
|
||||
|
@ -93,7 +101,7 @@ eeze_udev_find_similar_from_syspath(const char *syspath)
|
|||
* This function will update @p list to include all devices matching
|
||||
* devices with syspaths currently stored in @p list.
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup find
|
||||
*/
|
||||
EAPI void
|
||||
eeze_udev_find_unlisted_similar(Eina_List * list)
|
||||
|
@ -153,15 +161,15 @@ eeze_udev_find_unlisted_similar(Eina_List * list)
|
|||
}
|
||||
|
||||
/**
|
||||
* Find devices using a EEZE_UDEV_TYPE_* and/or a name.
|
||||
* Find devices using an @ref type and/or a name.
|
||||
*
|
||||
* @param type A Eeze_Udev_Type or 0
|
||||
* @param type An @ref Eeze_Udev_Type or 0
|
||||
* @param name A filter for the device name or NULL
|
||||
* @return A Eina_List* of matched devices or NULL on failure
|
||||
* @return An Eina_List of matched devices or NULL on failure
|
||||
*
|
||||
* Return a list of syspaths (/sys/$syspath) for matching udev devices.
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup find
|
||||
*/
|
||||
EAPI Eina_List *
|
||||
eeze_udev_find_by_type(const Eeze_Udev_Type etype, const char *name)
|
||||
|
@ -311,7 +319,7 @@ out:
|
|||
* Return a list of syspaths (/sys/$syspath) for matching udev devices.
|
||||
* Requires at least one filter.
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup find
|
||||
*/
|
||||
EAPI Eina_List *
|
||||
eeze_udev_find_by_filter(const char *subsystem, const char *type,
|
||||
|
@ -361,6 +369,8 @@ out:
|
|||
* @param value Optional: the value that the attribute should have
|
||||
*
|
||||
* @return A list of the devices found with the attribute
|
||||
*
|
||||
* @ingroup find
|
||||
*/
|
||||
EAPI Eina_List *
|
||||
eeze_udev_find_by_sysattr(const char *sysattr, const char *value)
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
extern _udev *udev;
|
||||
|
||||
/**
|
||||
/*
|
||||
* copies a device
|
||||
*/
|
||||
_udev_device *
|
||||
|
@ -22,7 +22,7 @@ _copy_device(_udev_device * device)
|
|||
return udev_device_new_from_syspath(udev, syspath);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* private function to simulate udevadm info -a
|
||||
* walks up the device tree checking each node for sysattr
|
||||
* with value $value
|
||||
|
@ -74,7 +74,7 @@ _walk_parents_get_attr(_udev_device * device, const char *sysattr)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* check a list for all parents of a device,
|
||||
* stringshare adding all devices that are not in the list
|
||||
*/
|
||||
|
|
|
@ -9,9 +9,12 @@
|
|||
extern _udev *udev;
|
||||
|
||||
/**
|
||||
* @defgroup udev udev
|
||||
* @defgroup syspath Syspath
|
||||
*
|
||||
* These are functions which interact directly with udev.
|
||||
* These are functions which interact with the syspath (/sys/$PATH) of
|
||||
* a device.
|
||||
*
|
||||
* @ingroup udev
|
||||
*/
|
||||
|
||||
/**
|
||||
|
@ -22,7 +25,7 @@ extern _udev *udev;
|
|||
*
|
||||
* Return a syspath (/sys/$syspath) for the parent device.
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup syspath
|
||||
*/
|
||||
EAPI const char *
|
||||
eeze_udev_syspath_get_parent(const char *syspath)
|
||||
|
@ -54,7 +57,7 @@ eeze_udev_syspath_get_parent(const char *syspath)
|
|||
* @param syspath The device to find parents of
|
||||
* @return A list of the parent devices of @p syspath
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup syspath
|
||||
*/
|
||||
EAPI Eina_List *
|
||||
eeze_udev_syspath_get_parents(const char *syspath)
|
||||
|
@ -96,7 +99,7 @@ eeze_udev_syspath_get_parents(const char *syspath)
|
|||
*
|
||||
* Takes /sys/$PATH and turns it into the corresponding "/dev/x/y".
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup syspath
|
||||
*/
|
||||
EAPI const char *
|
||||
eeze_udev_syspath_get_devpath(const char *syspath)
|
||||
|
@ -134,7 +137,7 @@ eeze_udev_syspath_get_devpath(const char *syspath)
|
|||
* Takes /sys/$PATH and returns the corresponding device subsystem,
|
||||
* such as "input" for keyboards/mice.
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup syspath
|
||||
*/
|
||||
EAPI const char *
|
||||
eeze_udev_syspath_get_subsystem(const char *syspath)
|
||||
|
@ -167,7 +170,7 @@ eeze_udev_syspath_get_subsystem(const char *syspath)
|
|||
* @param property The property to get; full list of these is a FIXME
|
||||
* @return A const char* with the property or NULL on failure
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup syspath
|
||||
*/
|
||||
EAPI const char *
|
||||
eeze_udev_syspath_get_property(const char *syspath, const char *property)
|
||||
|
@ -202,7 +205,7 @@ eeze_udev_syspath_get_property(const char *syspath, const char *property)
|
|||
* @param sysattr The sysattr to get; full list of these is a FIXME
|
||||
* @return A const char* with the sysattr or NULL on failure
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup syspath
|
||||
*/
|
||||
EAPI const char *
|
||||
eeze_udev_syspath_get_sysattr(const char *syspath, const char *sysattr)
|
||||
|
@ -230,95 +233,13 @@ eeze_udev_syspath_get_sysattr(const char *syspath, const char *sysattr)
|
|||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the syspath of a device from the /dev/ path.
|
||||
*
|
||||
* @param devpath The /dev/ path of the device
|
||||
* @return A const char* which corresponds to the /sys/ path of the device or NULL on failure
|
||||
*
|
||||
* Takes "/dev/path" and returns the corresponding /sys/ path (without the "/sys/")
|
||||
*
|
||||
* @ingroup udev
|
||||
*/
|
||||
EAPI const char *
|
||||
eeze_udev_devpath_get_syspath(const char *devpath)
|
||||
{
|
||||
_udev_enumerate *en;
|
||||
_udev_list_entry *devs, *cur;
|
||||
_udev_device *device;
|
||||
const char *name, *ret = NULL;
|
||||
|
||||
if (!devpath)
|
||||
return NULL;
|
||||
|
||||
en = udev_enumerate_new((udev));
|
||||
|
||||
if (!en)
|
||||
return NULL;
|
||||
|
||||
udev_enumerate_add_match_property(en, "DEVNAME", devpath);
|
||||
udev_enumerate_scan_devices(en);
|
||||
devs = udev_enumerate_get_list_entry(en);
|
||||
udev_list_entry_foreach(cur, devs)
|
||||
{
|
||||
name = udev_list_entry_get_name(cur);
|
||||
device = udev_device_new_from_syspath(udev, name);
|
||||
ret = eina_stringshare_add(udev_device_get_sysname(device));
|
||||
udev_device_unref(device);
|
||||
break; /*just in case there's more than one somehow */
|
||||
}
|
||||
udev_enumerate_unref(en);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the subsystem of a device from the /dev/ path.
|
||||
*
|
||||
* @param devpath The /dev/ path of the device
|
||||
* @return A const char* with the subsystem of the device or NULL on failure
|
||||
*
|
||||
* Takes "/dev/path" and returns the subsystem of the device.
|
||||
*
|
||||
* @ingroup udev
|
||||
*/
|
||||
EAPI const char *
|
||||
eeze_udev_devpath_get_subsystem(const char *devpath)
|
||||
{
|
||||
_udev_enumerate *en;
|
||||
_udev_list_entry *devs, *cur;
|
||||
_udev_device *device;
|
||||
const char *name, *ret = NULL;
|
||||
|
||||
if (!devpath)
|
||||
return NULL;
|
||||
|
||||
en = udev_enumerate_new((udev));
|
||||
|
||||
if (!en)
|
||||
return NULL;
|
||||
|
||||
udev_enumerate_add_match_property(en, "DEVNAME", devpath);
|
||||
udev_enumerate_scan_devices(en);
|
||||
devs = udev_enumerate_get_list_entry(en);
|
||||
udev_list_entry_foreach(cur, devs)
|
||||
{
|
||||
name = udev_list_entry_get_name(cur);
|
||||
device = udev_device_new_from_syspath(udev, name);
|
||||
ret = eina_stringshare_add(udev_device_get_subsystem(device));
|
||||
udev_device_unref(device);
|
||||
break; /*just in case there's more than one somehow */
|
||||
}
|
||||
udev_enumerate_unref(en);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the device is a mouse.
|
||||
*
|
||||
* @param syspath The /sys/ path with or without the /sys/
|
||||
* @return If true, the device is a mouse
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup syspath
|
||||
*/
|
||||
EAPI Eina_Bool
|
||||
eeze_udev_syspath_is_mouse(const char *syspath)
|
||||
|
@ -367,7 +288,7 @@ eeze_udev_syspath_is_mouse(const char *syspath)
|
|||
* @param syspath The /sys/ path with or without the /sys/
|
||||
* @return If true, the device is a keyboard
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup syspath
|
||||
*/
|
||||
EAPI Eina_Bool
|
||||
eeze_udev_syspath_is_kbd(const char *syspath)
|
||||
|
@ -416,7 +337,7 @@ eeze_udev_syspath_is_kbd(const char *syspath)
|
|||
* @param syspath The /sys/ path with or without the /sys/
|
||||
* @return If true, the device is a touchpad
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup syspath
|
||||
*/
|
||||
EAPI Eina_Bool
|
||||
eeze_udev_syspath_is_touchpad(const char *syspath)
|
||||
|
@ -449,3 +370,44 @@ eeze_udev_syspath_is_touchpad(const char *syspath)
|
|||
eina_strbuf_free(sbuf);
|
||||
return touchpad;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the syspath of a device from the /dev/ path.
|
||||
*
|
||||
* @param devpath The /dev/ path of the device
|
||||
* @return A const char* which corresponds to the /sys/ path of the device or NULL on failure
|
||||
*
|
||||
* Takes "/dev/path" and returns the corresponding /sys/ path (without the "/sys/")
|
||||
*
|
||||
* @ingroup syspath
|
||||
*/
|
||||
EAPI const char *
|
||||
eeze_udev_devpath_get_syspath(const char *devpath)
|
||||
{
|
||||
_udev_enumerate *en;
|
||||
_udev_list_entry *devs, *cur;
|
||||
_udev_device *device;
|
||||
const char *name, *ret = NULL;
|
||||
|
||||
if (!devpath)
|
||||
return NULL;
|
||||
|
||||
en = udev_enumerate_new((udev));
|
||||
|
||||
if (!en)
|
||||
return NULL;
|
||||
|
||||
udev_enumerate_add_match_property(en, "DEVNAME", devpath);
|
||||
udev_enumerate_scan_devices(en);
|
||||
devs = udev_enumerate_get_list_entry(en);
|
||||
udev_list_entry_foreach(cur, devs)
|
||||
{
|
||||
name = udev_list_entry_get_name(cur);
|
||||
device = udev_device_new_from_syspath(udev, name);
|
||||
ret = eina_stringshare_add(udev_device_get_sysname(device));
|
||||
udev_device_unref(device);
|
||||
break; /*just in case there's more than one somehow */
|
||||
}
|
||||
udev_enumerate_unref(en);
|
||||
return ret;
|
||||
}
|
|
@ -8,6 +8,14 @@
|
|||
|
||||
extern _udev *udev;
|
||||
|
||||
/**
|
||||
* @defgroup walks Walks
|
||||
*
|
||||
* These are functions which walk up the device chain.
|
||||
*
|
||||
* @ingroup udev
|
||||
*/
|
||||
|
||||
/**
|
||||
* Walks up the device chain starting at @p syspath,
|
||||
* checking each device for @p sysattr with (optional) @p value.
|
||||
|
@ -17,6 +25,8 @@ extern _udev *udev;
|
|||
* @param value OPTIONAL: The value that @p sysattr should have, or NULL
|
||||
*
|
||||
* @return If the sysattr (with value) is found, returns TRUE. Else, false.
|
||||
*
|
||||
* @ingroup walks
|
||||
*/
|
||||
EAPI Eina_Bool
|
||||
eeze_udev_walk_check_sysattr(const char *syspath, const char *sysattr,
|
||||
|
@ -73,6 +83,8 @@ eeze_udev_walk_check_sysattr(const char *syspath, const char *sysattr,
|
|||
* @param sysattr The attribute to find
|
||||
*
|
||||
* @return The value of @p sysattr if found, or NULL
|
||||
*
|
||||
* @ingroup walks
|
||||
*/
|
||||
EAPI const char *
|
||||
eeze_udev_walk_get_sysattr(const char *syspath, const char *sysattr)
|
||||
|
|
|
@ -27,6 +27,14 @@ struct _store_data
|
|||
Eeze_Udev_Watch *watch;
|
||||
};
|
||||
|
||||
/**
|
||||
* @defgroup watch Watch
|
||||
*
|
||||
* These are functions which monitor udev for events.
|
||||
*
|
||||
* @ingroup udev
|
||||
*/
|
||||
|
||||
/* private function to further filter watch results based on Eeze_Udev_Type
|
||||
* specified; helpful for new udev versions, but absolutely required for
|
||||
* old udev, which does not implement filtering in device monitors.
|
||||
|
@ -265,15 +273,15 @@ error:
|
|||
/**
|
||||
* Add a watch for a device type
|
||||
*
|
||||
* @param type The Eeze_Udev_Type to watch
|
||||
* @param event The events to watch; an OR list of EEZE_UDEV_EVENTs (ie (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE)), or 0 for all events
|
||||
* @param type The @ref Eeze_Udev_Type to watch
|
||||
* @param event The events to watch; an OR list of @ref event (ie (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE)), or 0 for all events
|
||||
* @param func The function to call when the watch receives data;
|
||||
* must take (const char *device, const char *event_type, void *data, Eeze_Udev_Watch *watch)
|
||||
* @param user_data Data to pass to the callback function
|
||||
*
|
||||
* @return A watch struct for the watch type specified, or NULL on failure
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup watch
|
||||
*/
|
||||
EAPI Eeze_Udev_Watch *
|
||||
eeze_udev_watch_add(Eeze_Udev_Type type, int event,
|
||||
|
@ -372,7 +380,7 @@ error:
|
|||
*
|
||||
* Deletes a watch, closing file descriptors and freeing related udev memory.
|
||||
*
|
||||
* @ingroup udev
|
||||
* @ingroup watch
|
||||
*/
|
||||
EAPI void *
|
||||
eeze_udev_watch_del(Eeze_Udev_Watch * watch)
|
||||
|
|
Loading…
Reference in New Issue