GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
LIBDEVQ(3) FreeBSD Library Functions Manual LIBDEVQ(3)

libdevq
Generic Device Query and Monitor interface

Portable query and monitoring library (libdevq, -ldevq)

#include <sys/types.h>
#include <libdevq.h>

devq_class_t
devq_device_get_class(struct devq_device *device);

const char *
devq_device_get_devpath_from_fd(int fd, char *path, size_t *path_len);

const char *
devq_device_get_path(struct devq_device *device);

int
devq_device_get_pcibusaddr(int *domain, int *bus, int *slot, int *function);

int
devq_device_get_pciid_from_fd(int fd, int *vendor_id, int *device_id);

int
devq_device_get_pciid_full_from_fd(int fd, int *vendor_id, int *device_id, int *subvendor_id, int *subdevice_id, int *revision_id);

const char *
devq_device_get_product(struct devq_device *device);

devq_device_t
devq_device_get_type(struct devq_device *device);

const char *
devq_device_get_vendor(struct devq_device *device);

int
devq_drm_get_drvname_from_fd(int fd, char *driver_name, size_t *driver_name_len);

const char *
devq_event_dump(struct devq_event *);

void
devq_event_free(struct devq_event *);

struct devq_device *
devq_event_get_deviced(struct devq_event *);

devq_event_t
devq_event_get_type(struct devq_event *);

void
devq_event_monitor_fini(struct devq_evmon *);

int
devq_event_monitor_get_fd(struct devq_evmon *);

struct devq_evmon *
devq_event_monitor_init(void);

int
devq_event_monitor_poll(struct devq_evmon *);

struct devq_event *
devq_event_monitor_read(struct devq_evmon *);

This section documents the functions, types, and variable available via <libdevq.h>.

devq_class_t
A list of event class. Values are:
DEVQ_CLASS_UNKNOWN
Unknown class
DEVQ_CLASS_INPUT
Input device class
devq_device_t
A list of device types. Values are:
DEVQ_DEVICE_UNKNOWN
Unknown device type
DEVQ_DEVICE_KEYBOARD
Device is a keyboard
DEVQ_DEVICE_MOUSE
Device is a mouse
DEVQ_DEVICE_JOYSTICK
Device is a joystick
DEVQ_DEVICE_TOUCHPAD
Device is a touchpad
DEVQ_DEVICE_TOUCHSCREEN
Device is a touchscreen
devq_event_t
A list of event types. Values are:
DEVQ_ATTACHED
A device have been attached
DEVQ_DETACHED
A device have been detached
DEVQ_NOTICE
An information is available
DEVQ_UNKNOWN
An unknown event has occured
struct devq_device
An opaque structure representing a device
struct devq_event
An opaque structure representing an event
struct devq_evmon
An opaque structure representing an event monitor

Device query functions.
devq_device_get_pcibusaddr()
Return the pci bus location: domain, bus, slot and function. Currently only for DRM devices.
devq_device_get_devpath_from_fd()
Returns the absolute path of the device.
devq_device_get_pciid_full_from_fd()
Return the vendor_id, device_id, subvendor_id, subdevice_id and revision_id of the supplied fd. Currently only for DRM devices.
devq_device_get_pciid_from_fd()
Return the vendor_id and device_id of the supplied fd. Currently only for DRM devices.
devq_drm_get_drvname_from_fd()
Returns the driver name.

Device notification API

devq_event_dump()
Returns the raw devq_event content.
devq_event_free()
Frees the devq_event struct.
devq_event_monitor_init()
function setups the monitoring code.
devq_event_monitor_fini()
function cleanup the event monitering code.
devq_event_monitor_get_fd()
Return the fd of the devq_evmon.
devq_event_monitor_poll()
Returns 1 if there are events waiting, otherwise 0.
devq_event_monitor_read()
Returns a devq_event struct otherwise NULL.
devq_event_get_type()
Returns what kind of event this is.
devq_event_get_deviced()
Returns information about the device on ATTACH or DETACH events. Otherwise NULL.
devq_device_get_type()
Returns the type of the device the event is about.
devq_device_get_class()
Return the device class for a given device.
devq_device_get_path()
Return the absolute path of the device.
devq_device_get_product()
Return the product of the device the event is about.
devq_device_get_vendor()
Return the vendor of the device the event is about.

fill me...

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

The functions in libdevq() may fail with the following errors:
[]
Bad File Descriptor
[]
Cannot allocate memory
[]
No such file or directory
[]
Invalid argument

devinfo(3), devctl(4), devclass(9)

The libdevq library was written by:

Baptiste Daroussin <bapt@FreeBSD.org>,
Jean-Sébastien Pédron <dumbbell@FreeBSD.org>,
Koop Mast <kwm@FreeBSD.org>

January 8, 2015 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.