Kernel Functions for Drivers usbgetcurrentframenumber(9F)
NAME
usbgetcurrentframenumber - Return current logical usb
frame number
SYNOPSIS
#include
usbframenumbert usbgetcurrentframenumber(devinfot *dip);
INTERFACE LEVEL
Solaris DI specific (Solaris DI)
PARAMETERS
dip Pointer to the device's devinfo structure.
DESCRIPTION
The usbgetcurrentframenumber() function retrieves the
current logical USB frame number.
Isochronous requests can be started on a particular numbered
frame. An offset number of frames (typically between 4 and
10) can be added to the current logical frame number to
specify the number of an upcoming frame to start an isochro-
nous request.
The USB specification requires that the frame frequency (the
period between start-of-frame packets) is one millisecond.
The Solaris operating environment USB implementation uses a
running counter of the number of milliseconds since boot as
the current logical frame number.
RETURN VALUES
On success, the usbgetcurrentframenumber() function
returns the current USB frame number. On failure it returns
0. The function fails if dip is NUL.
CONTEXT
May be called from user, kernel or interrupt context.
EXAMPLES
usbpipehandlet handle;
usbframenumbert offset = 10;
usbisocreqt *isocreq;
isocreq = usballocisocreq(...);
...
SunOS 5.11 Last change: 25 July 2004 1
Kernel Functions for Drivers usbgetcurrentframenumber(9F)
...
isocreq->isocframeno = usbgetcurrentframenumber(dip) ] offset;
isocreq->isocattributes = USBATRSISOCSTARTFRAME;
...
...
if (usbpipeisocxfer(handle, isocreq, 0) != USBSUCES) {
...
}
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Architecture PCI-based systems
Interface stability Committed
Availability SUNWusb
SEE ALSO
attributes(5), usballocisocreq(9F),
usbgetmaxpktsperisocrequest(9F),
usbpipeisocxfer(9F),
usbpipegetmaxbulktransfersize(9F),
usbisocrequest(9S)
SunOS 5.11 Last change: 25 July 2004 2
|