Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Nov 2011 22:11:03 +0200
From:      Alexander Motin <mav@FreeBSD.org>
To:        Marcus von Appen <mva@FreeBSD.org>
Cc:        current <current@freebsd.org>
Subject:   Re: uhid(4) and report structures
Message-ID:  <4EC2C757.4060303@FreeBSD.org>
In-Reply-To: <mailpost.1321385868.5489178.82004.mailing.freebsd.current@FreeBSD.cs.nctu.edu.tw>
References:  <mailpost.1321385868.5489178.82004.mailing.freebsd.current@FreeBSD.cs.nctu.edu.tw>

next in thread | previous in thread | raw e-mail | index | archive | help
On 15.11.2011 21:29, Marcus von Appen wrote:
> I wonder, if I am correct with my assumption that the usb_ctl_report*
> structures mentioned in uhid(4) have to be defined and created by the
> code portion that uses the USB_GET_REPORT(), USB_SET_REPORT(),
> ... calls.
>
> In FreeBSD<  800063 we defined them in the header files of the USB
> subsystem. After the rewrite those struct definitions vanished.  Will
> the USB_ macros mentioned in uhid(4) "just" return a byte sequence
> (that's what I understand from the UHID specification) so that code,
> which uses those calls, can implement its own struct container for the
> information retrieved?
>
> Thanks for shedding some light on this. In case i am correct with what I
> wrote above, it might make sense to mention it in uhid(4).

In new USB stack these calls use struct usb_gen_descriptor argument. 
Difficult to say why it was done, but it was. To hide that I've recently 
added two wrapper functions to the libusbhid in HEAD: hid_get_report() 
and hid_set_report().

-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4EC2C757.4060303>