hidd_connect_parm_t
HID stack connection parameters
Synopsis:
#include <sys/hiddi.h>
typedef struct hidd_connect_parm {
const char *path;
_Uint16t vhid;
_Uint16t vhidd;
_Uint32t flags;
_Uint32t evtbufsz;
hidd_device_ident_t *device_ident;
hidd_funcs_t *funcs;
_Uint16t connect_wait;
_Uint16t stack_size;
_Uint16t _reserved[4];
} hidd_connect_parm_t;Description:
Connection parameters describing how to connect to the HID stack and how to operate with it. The members include:
- path
- Name of the server (NULL default to the HID server /dev/io-hid/io-hid).
- vhid, vhidd
-
Versions of the HID server (HID_VERSION) and HID DDK (HIDD_VERSION).
- flags
- In usual cases, you won't need either (pass 0):
- HIDD_CONNECT_FLAGS_PNP_MONITOR - Monitor all devices.
- HIDD_CONNECT_FLAGS_SET_STACK_SIZE - Use the stack size passed in the parameters if larger than default. Otherwise, use default.
- evtbufsz
- Size of the event buffer used to buffer events from the HID server. For the default size, pass 0.
- device_ident
- The hidd_device_ident_t structure instance identifying the devices you're interested in receiving insertion/removal callbacks for (a filter). You can set the fields to HIDD_CONNECT_WILDCARD or to an explicit value. If device_ident is set to NULL, then it is assumed that all fields are HIDD_CONNECT_WILDCARD.
- funcs
- The hidd_funcs_t structure instance containing the insertion/removal callbacks. By passing NULL, you're saying that you're not interested in receiving dynamic insertion/removal notifications, which means that you won't be a fully operational client driver. No asynchronous I/O will be allowed, no event thread, etc. This approach is taken, for example, by the hidview display utility.
- connect_wait
- A value (in seconds), recommended HIDD_CONNECT_WAIT.
- stack_size
- Connection thread stack size. Used only if HIDD_CONNECT_FLAGS_SET_STACK_SIZE is specified in the flags field.
Page updated:
