\hypertarget{usbhid_8c}{}\doxysection{dev/usb/input/usbhid.c File Reference}
\label{usbhid_8c}\index{dev/usb/input/usbhid.c@{dev/usb/input/usbhid.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include $<$sys/stdint.\+h$>$}\newline
{\ttfamily \#include $<$sys/stddef.\+h$>$}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/queue.\+h$>$}\newline
{\ttfamily \#include $<$sys/types.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/bus.\+h$>$}\newline
{\ttfamily \#include $<$sys/module.\+h$>$}\newline
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/mutex.\+h$>$}\newline
{\ttfamily \#include $<$sys/condvar.\+h$>$}\newline
{\ttfamily \#include $<$sys/sysctl.\+h$>$}\newline
{\ttfamily \#include $<$sys/sx.\+h$>$}\newline
{\ttfamily \#include $<$sys/unistd.\+h$>$}\newline
{\ttfamily \#include $<$sys/callout.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/priv.\+h$>$}\newline
{\ttfamily \#include $<$sys/conf.\+h$>$}\newline
{\ttfamily \#include $<$sys/fcntl.\+h$>$}\newline
{\ttfamily \#include $<$dev/evdev/input.\+h$>$}\newline
{\ttfamily \#include $<$dev/hid/hid.\+h$>$}\newline
{\ttfamily \#include $<$dev/hid/hidquirk.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usbdi.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usbdi\+\_\+util.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usbhid.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+core.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+ioctl.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+util.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+debug.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/quirk/usb\+\_\+quirk.\+h$>$}\newline
{\ttfamily \#include \char`\"{}hid\+\_\+if.\+h\char`\"{}}\newline
Include dependency graph for usbhid.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/dab/usbhid_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
union \mbox{\hyperlink{unionusbhid__device__request}{usbhid\+\_\+device\+\_\+request}}
\item 
struct \mbox{\hyperlink{structusbhid__xfer__ctx}{usbhid\+\_\+xfer\+\_\+ctx}}
\item 
struct \mbox{\hyperlink{structusbhid__softc}{usbhid\+\_\+softc}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{usbhid_8c_a927dd6f59caf10a2991dfb564bcbb1e1}{USB\+\_\+\+DEBUG\+\_\+\+VAR}}~usbhid\+\_\+debug
\item 
\#define \mbox{\hyperlink{usbhid_8c_a1ec8916ee2171ea5577d0863ed408e51}{POLL\+\_\+\+XFER}}(xfer)~((xfer) + \mbox{\hyperlink{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9eaeb5ae114f6baaa7a35fe7fa3fb7a3452}{USBHID\+\_\+\+N\+\_\+\+TRANSFER}})
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef int \mbox{\hyperlink{usbhid_8c_a88a72b688810c0231e514ee02c9aa33b}{usbhid\+\_\+callback\+\_\+t}}(struct \mbox{\hyperlink{structusbhid__xfer__ctx}{usbhid\+\_\+xfer\+\_\+ctx}} $\ast$xfer\+\_\+ctx)
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \{ \mbox{\hyperlink{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9ead7bda12e507ac9afa9e23cae11b3b15a}{USBHID\+\_\+\+INTR\+\_\+\+OUT\+\_\+\+DT}}
, \mbox{\hyperlink{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9ea091ff0c2e7db82252a6450f3b49a95d7}{USBHID\+\_\+\+INTR\+\_\+\+IN\+\_\+\+DT}}
, \mbox{\hyperlink{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9ea382474c066d475cedcf426c9861e50e2}{USBHID\+\_\+\+CTRL\+\_\+\+DT}}
, \mbox{\hyperlink{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9eaeb5ae114f6baaa7a35fe7fa3fb7a3452}{USBHID\+\_\+\+N\+\_\+\+TRANSFER}}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{usbhid_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
static \mbox{\hyperlink{usbhid_8c_a373997f3b64d59df22ab845be497f7f7}{SYSCTL\+\_\+\+NODE}} (\+\_\+hw\+\_\+usb, OID\+\_\+\+AUTO, usbhid, CTLFLAG\+\_\+\+RW, 0, \char`\"{}USB usbhid\char`\"{})
\item 
\mbox{\hyperlink{usbhid_8c_a71bc0462d77524e3aa32432230e2db70}{SYSCTL\+\_\+\+INT}} (\+\_\+hw\+\_\+usb\+\_\+usbhid, OID\+\_\+\+AUTO, enable, CTLFLAG\+\_\+\+RWTUN, \&\mbox{\hyperlink{usbhid_8c_a98c65d11b411fd971605f9e448d67d0b}{usbhid\+\_\+enable}}, 0, \char`\"{}Enable usbhid and prefer it to other USB HID drivers\char`\"{})
\item 
static void \mbox{\hyperlink{usbhid_8c_ac089182e7052b5902b635f04b2384895}{usbhid\+\_\+intr\+\_\+out\+\_\+callback}} (struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$xfer, \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}})
\item 
static void \mbox{\hyperlink{usbhid_8c_abda2f3c5d8a44269fed8f340f2857d8d}{usbhid\+\_\+intr\+\_\+in\+\_\+callback}} (struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$xfer, \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}})
\item 
static void \mbox{\hyperlink{usbhid_8c_a5f52ad4eb32ab213b4d86714cc39ca4f}{usbhid\+\_\+ctrl\+\_\+callback}} (struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$xfer, \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}})
\item 
static int \mbox{\hyperlink{usbhid_8c_af7b36f9d5561df3467654dc419f67959}{usbhid\+\_\+intr\+\_\+handler\+\_\+cb}} (struct \mbox{\hyperlink{structusbhid__xfer__ctx}{usbhid\+\_\+xfer\+\_\+ctx}} $\ast$xfer\+\_\+ctx)
\item 
static int \mbox{\hyperlink{usbhid_8c_a84dbdf2985c8afe18fccee987e73e2a1}{usbhid\+\_\+sync\+\_\+wakeup\+\_\+cb}} (struct \mbox{\hyperlink{structusbhid__xfer__ctx}{usbhid\+\_\+xfer\+\_\+ctx}} $\ast$xfer\+\_\+ctx)
\item 
static \mbox{\hyperlink{usb__freebsd_8h_a66bb6b1869e5e89aff3b693720b39cfb}{usb\+\_\+frlength\+\_\+t}} \mbox{\hyperlink{usbhid_8c_accb6837693d5fdbc4ca179eeb590a1be}{usbhid\+\_\+xfer\+\_\+max\+\_\+len}} (struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$xfer)
\item 
static int \mbox{\hyperlink{usbhid_8c_a830b837074626f4d0f47637093633d08}{usbhid\+\_\+xfer\+\_\+check\+\_\+len}} (struct \mbox{\hyperlink{structusbhid__softc}{usbhid\+\_\+softc}} $\ast$sc, int xfer\+\_\+idx, hid\+\_\+size\+\_\+t \mbox{\hyperlink{if__usievar_8h_a8aed22e2c7b283705ec82e0120515618}{len}})
\item 
static void \mbox{\hyperlink{usbhid_8c_a3d5572ecd6fb3c996605dce2ed3a394e}{usbhid\+\_\+intr\+\_\+setup}} (device\+\_\+t \textbf{ dev}, hid\+\_\+intr\+\_\+t intr, void $\ast$context, struct hid\+\_\+rdesc\+\_\+info $\ast$rdesc)
\item 
static void \mbox{\hyperlink{usbhid_8c_acd7082e0d3165353e550aea14fae527a}{usbhid\+\_\+intr\+\_\+unsetup}} (device\+\_\+t \textbf{ dev})
\item 
static int \mbox{\hyperlink{usbhid_8c_ac5e69d2b85d8fbb73ce88f2c2c6b452b}{usbhid\+\_\+intr\+\_\+start}} (device\+\_\+t \textbf{ dev})
\item 
static int \mbox{\hyperlink{usbhid_8c_af91a00eee7b258f3d4c1034d9b712a3c}{usbhid\+\_\+intr\+\_\+stop}} (device\+\_\+t \textbf{ dev})
\item 
static void \mbox{\hyperlink{usbhid_8c_a7d8f93bad64493065ce512486ee2a179}{usbhid\+\_\+intr\+\_\+poll}} (device\+\_\+t \textbf{ dev})
\item 
static int \mbox{\hyperlink{usbhid_8c_a6ab499c9091e13f25d6e7f92b1150be9}{usbhid\+\_\+sync\+\_\+xfer}} (struct \mbox{\hyperlink{structusbhid__softc}{usbhid\+\_\+softc}} $\ast$sc, int xfer\+\_\+idx, union \mbox{\hyperlink{unionusbhid__device__request}{usbhid\+\_\+device\+\_\+request}} $\ast$\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, void $\ast$buf)
\item 
static int \mbox{\hyperlink{usbhid_8c_ac3a984fb7f23662357a5fd983d48d99d}{usbhid\+\_\+get\+\_\+rdesc}} (device\+\_\+t \textbf{ dev}, void $\ast$buf, hid\+\_\+size\+\_\+t \mbox{\hyperlink{if__usievar_8h_a8aed22e2c7b283705ec82e0120515618}{len}})
\item 
static int \mbox{\hyperlink{usbhid_8c_acb1999502b083cf12bf083efd3a61ae8}{usbhid\+\_\+get\+\_\+report}} (device\+\_\+t \textbf{ dev}, void $\ast$buf, hid\+\_\+size\+\_\+t maxlen, hid\+\_\+size\+\_\+t $\ast$actlen, uint8\+\_\+t \textbf{ type}, uint8\+\_\+t \mbox{\hyperlink{if__usievar_8h_a1e6927fa1486224044e568f9c370519b}{id}})
\item 
static int \mbox{\hyperlink{usbhid_8c_ae5b395375876c407a922369ee382eddd}{usbhid\+\_\+set\+\_\+report}} (device\+\_\+t \textbf{ dev}, const void $\ast$buf, hid\+\_\+size\+\_\+t \mbox{\hyperlink{if__usievar_8h_a8aed22e2c7b283705ec82e0120515618}{len}}, uint8\+\_\+t \textbf{ type}, uint8\+\_\+t \mbox{\hyperlink{if__usievar_8h_a1e6927fa1486224044e568f9c370519b}{id}})
\item 
static int \mbox{\hyperlink{usbhid_8c_a14c70925219daadd88f008204907a48d}{usbhid\+\_\+read}} (device\+\_\+t \textbf{ dev}, void $\ast$buf, hid\+\_\+size\+\_\+t maxlen, hid\+\_\+size\+\_\+t $\ast$actlen)
\item 
static int \mbox{\hyperlink{usbhid_8c_a9554130e65c6ee21e27667522357aae3}{usbhid\+\_\+write}} (device\+\_\+t \textbf{ dev}, const void $\ast$buf, hid\+\_\+size\+\_\+t \mbox{\hyperlink{if__usievar_8h_a8aed22e2c7b283705ec82e0120515618}{len}})
\item 
static int \mbox{\hyperlink{usbhid_8c_abc7086b7f071b21180fc058983213bdc}{usbhid\+\_\+set\+\_\+idle}} (device\+\_\+t \textbf{ dev}, uint16\+\_\+t duration, uint8\+\_\+t \mbox{\hyperlink{if__usievar_8h_a1e6927fa1486224044e568f9c370519b}{id}})
\item 
static int \mbox{\hyperlink{usbhid_8c_a70bdb90b15384fc0adc39e857a0500a9}{usbhid\+\_\+set\+\_\+protocol}} (device\+\_\+t \textbf{ dev}, uint16\+\_\+t protocol)
\item 
static int \mbox{\hyperlink{usbhid_8c_ab5c59db84e54fe799617d26cff13f8c7}{usbhid\+\_\+ioctl}} (device\+\_\+t \textbf{ dev}, unsigned long cmd, uintptr\+\_\+t \textbf{ data})
\item 
static void \mbox{\hyperlink{usbhid_8c_a7276d371699f7bd040f124ccc69beb61}{usbhid\+\_\+init\+\_\+device\+\_\+info}} (struct \mbox{\hyperlink{structusb__attach__arg}{usb\+\_\+attach\+\_\+arg}} $\ast$uaa, struct hid\+\_\+device\+\_\+info $\ast$hw)
\item 
static void \mbox{\hyperlink{usbhid_8c_a2418dec4beb6a10b5540fefb6bbc6d63}{usbhid\+\_\+fill\+\_\+device\+\_\+info}} (struct \mbox{\hyperlink{structusb__attach__arg}{usb\+\_\+attach\+\_\+arg}} $\ast$uaa, struct hid\+\_\+device\+\_\+info $\ast$hw)
\item 
static int \mbox{\hyperlink{usbhid_8c_ac8c6a281317babff8ba1e1c2fba0db89}{usbhid\+\_\+probe}} (device\+\_\+t \textbf{ dev})
\item 
static int \mbox{\hyperlink{usbhid_8c_a0c3880da7dd7e4166830add15fef9651}{usbhid\+\_\+attach}} (device\+\_\+t \textbf{ dev})
\item 
static int \mbox{\hyperlink{usbhid_8c_aa019b8f4b0862047dc5eb7a3a2ea3789}{usbhid\+\_\+detach}} (device\+\_\+t \textbf{ dev})
\item 
\mbox{\hyperlink{usbhid_8c_a3f9831cf232aa2ef7e1cb5f81ceb075d}{DRIVER\+\_\+\+MODULE}} (usbhid, uhub, \mbox{\hyperlink{usbhid_8c_a14dbd499fde4652030690c9146b8b15c}{usbhid\+\_\+driver}}, \mbox{\hyperlink{usbhid_8c_aadee585cefcbe67dab4530ebc7366973}{usbhid\+\_\+devclass}}, NULL, 0)
\item 
\mbox{\hyperlink{usbhid_8c_a52255f3a4f26247e6710ff296da93539}{MODULE\+\_\+\+DEPEND}} (usbhid, \mbox{\hyperlink{usb__if_8m_adfa3f6da9c4881e494b180c4ebb06470}{usb}}, 1, 1, 1)
\item 
\mbox{\hyperlink{usbhid_8c_aff100e2efcc242227a21313ba741dc00}{MODULE\+\_\+\+DEPEND}} (usbhid, hid, 1, 1, 1)
\item 
\mbox{\hyperlink{usbhid_8c_ac2c6c89a91364101881b95f70a323200}{MODULE\+\_\+\+DEPEND}} (usbhid, hidbus, 1, 1, 1)
\item 
\mbox{\hyperlink{usbhid_8c_a18c7f349699be9c93e50873fcc9cc357}{MODULE\+\_\+\+VERSION}} (usbhid, 1)
\item 
\mbox{\hyperlink{usbhid_8c_a52673798bb4bfd3cbf3ec720d3990299}{USB\+\_\+\+PNP\+\_\+\+HOST\+\_\+\+INFO}} (\mbox{\hyperlink{usbhid_8c_a071f350fa7542c467572468c86408a44}{usbhid\+\_\+devs}})
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static int \mbox{\hyperlink{usbhid_8c_a98c65d11b411fd971605f9e448d67d0b}{usbhid\+\_\+enable}} = 0
\item 
static device\+\_\+probe\+\_\+t \mbox{\hyperlink{usbhid_8c_abf5305e5e2bc4e02a1e5c8e3b710fdd1}{usbhid\+\_\+probe}}
\item 
static device\+\_\+attach\+\_\+t \mbox{\hyperlink{usbhid_8c_a900f97bcd59540ff3d7932da8340337a}{usbhid\+\_\+attach}}
\item 
static device\+\_\+detach\+\_\+t \mbox{\hyperlink{usbhid_8c_a55f7d20c3209fe2f82dff1e69284df81}{usbhid\+\_\+detach}}
\item 
static \mbox{\hyperlink{usbdi_8h_aad1085e1e87347ed71e554c4b0209239}{usb\+\_\+callback\+\_\+t}} \mbox{\hyperlink{usbhid_8c_a3bd231b016091d2b0ce94225795ad79a}{usbhid\+\_\+intr\+\_\+out\+\_\+callback}}
\item 
static \mbox{\hyperlink{usbdi_8h_aad1085e1e87347ed71e554c4b0209239}{usb\+\_\+callback\+\_\+t}} \mbox{\hyperlink{usbhid_8c_a48cd8136bac5eb66bc84c3858109d1f7}{usbhid\+\_\+intr\+\_\+in\+\_\+callback}}
\item 
static \mbox{\hyperlink{usbdi_8h_aad1085e1e87347ed71e554c4b0209239}{usb\+\_\+callback\+\_\+t}} \mbox{\hyperlink{usbhid_8c_a714375d21100154ce0f8cf2326bebeb5}{usbhid\+\_\+ctrl\+\_\+callback}}
\item 
static \mbox{\hyperlink{usbhid_8c_a88a72b688810c0231e514ee02c9aa33b}{usbhid\+\_\+callback\+\_\+t}} \mbox{\hyperlink{usbhid_8c_a9353d02582e3a820b59217da776de285}{usbhid\+\_\+intr\+\_\+handler\+\_\+cb}}
\item 
static \mbox{\hyperlink{usbhid_8c_a88a72b688810c0231e514ee02c9aa33b}{usbhid\+\_\+callback\+\_\+t}} \mbox{\hyperlink{usbhid_8c_a3d923d310d2da1df22a67f2779b64289}{usbhid\+\_\+sync\+\_\+wakeup\+\_\+cb}}
\item 
static const struct \mbox{\hyperlink{structusb__config}{usb\+\_\+config}} \mbox{\hyperlink{usbhid_8c_aab749bd3dec9ee2e252e6bf4d5464ccb}{usbhid\+\_\+config}} \mbox{[}\mbox{\hyperlink{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9eaeb5ae114f6baaa7a35fe7fa3fb7a3452}{USBHID\+\_\+\+N\+\_\+\+TRANSFER}}\mbox{]}
\item 
static const \mbox{\hyperlink{usbdi_8h_acf836fd8d6349b66a31f45420728da8d}{STRUCT\+\_\+\+USB\+\_\+\+HOST\+\_\+\+ID}} \mbox{\hyperlink{usbhid_8c_a071f350fa7542c467572468c86408a44}{usbhid\+\_\+devs}} \mbox{[}$\,$\mbox{]}
\item 
static devclass\+\_\+t \mbox{\hyperlink{usbhid_8c_aadee585cefcbe67dab4530ebc7366973}{usbhid\+\_\+devclass}}
\item 
static device\+\_\+method\+\_\+t \mbox{\hyperlink{usbhid_8c_a97394cb437bdc49eb9512dda33bb9f31}{usbhid\+\_\+methods}} \mbox{[}$\,$\mbox{]}
\item 
static driver\+\_\+t \mbox{\hyperlink{usbhid_8c_a14dbd499fde4652030690c9146b8b15c}{usbhid\+\_\+driver}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{usbhid_8c_a1ec8916ee2171ea5577d0863ed408e51}\label{usbhid_8c_a1ec8916ee2171ea5577d0863ed408e51}} 
\index{usbhid.c@{usbhid.c}!POLL\_XFER@{POLL\_XFER}}
\index{POLL\_XFER@{POLL\_XFER}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{POLL\_XFER}{POLL\_XFER}}
{\footnotesize\ttfamily \#define POLL\+\_\+\+XFER(\begin{DoxyParamCaption}\item[{}]{xfer }\end{DoxyParamCaption})~((xfer) + \mbox{\hyperlink{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9eaeb5ae114f6baaa7a35fe7fa3fb7a3452}{USBHID\+\_\+\+N\+\_\+\+TRANSFER}})}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00092}{92}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.

\mbox{\Hypertarget{usbhid_8c_a927dd6f59caf10a2991dfb564bcbb1e1}\label{usbhid_8c_a927dd6f59caf10a2991dfb564bcbb1e1}} 
\index{usbhid.c@{usbhid.c}!USB\_DEBUG\_VAR@{USB\_DEBUG\_VAR}}
\index{USB\_DEBUG\_VAR@{USB\_DEBUG\_VAR}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{USB\_DEBUG\_VAR}{USB\_DEBUG\_VAR}}
{\footnotesize\ttfamily \#define USB\+\_\+\+DEBUG\+\_\+\+VAR~usbhid\+\_\+debug}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00074}{74}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{usbhid_8c_a88a72b688810c0231e514ee02c9aa33b}\label{usbhid_8c_a88a72b688810c0231e514ee02c9aa33b}} 
\index{usbhid.c@{usbhid.c}!usbhid\_callback\_t@{usbhid\_callback\_t}}
\index{usbhid\_callback\_t@{usbhid\_callback\_t}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_callback\_t}{usbhid\_callback\_t}}
{\footnotesize\ttfamily typedef int usbhid\+\_\+callback\+\_\+t(struct \mbox{\hyperlink{structusbhid__xfer__ctx}{usbhid\+\_\+xfer\+\_\+ctx}} $\ast$xfer\+\_\+ctx)}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00101}{101}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9e}\label{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9e}} 
\doxysubsubsection{\texorpdfstring{anonymous enum}{anonymous enum}}
{\footnotesize\ttfamily anonymous enum}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{USBHID\_INTR\_OUT\_DT@{USBHID\_INTR\_OUT\_DT}!usbhid.c@{usbhid.c}}\index{usbhid.c@{usbhid.c}!USBHID\_INTR\_OUT\_DT@{USBHID\_INTR\_OUT\_DT}}}\mbox{\Hypertarget{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9ead7bda12e507ac9afa9e23cae11b3b15a}\label{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9ead7bda12e507ac9afa9e23cae11b3b15a}} 
USBHID\+\_\+\+INTR\+\_\+\+OUT\+\_\+\+DT&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{USBHID\_INTR\_IN\_DT@{USBHID\_INTR\_IN\_DT}!usbhid.c@{usbhid.c}}\index{usbhid.c@{usbhid.c}!USBHID\_INTR\_IN\_DT@{USBHID\_INTR\_IN\_DT}}}\mbox{\Hypertarget{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9ea091ff0c2e7db82252a6450f3b49a95d7}\label{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9ea091ff0c2e7db82252a6450f3b49a95d7}} 
USBHID\+\_\+\+INTR\+\_\+\+IN\+\_\+\+DT&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{USBHID\_CTRL\_DT@{USBHID\_CTRL\_DT}!usbhid.c@{usbhid.c}}\index{usbhid.c@{usbhid.c}!USBHID\_CTRL\_DT@{USBHID\_CTRL\_DT}}}\mbox{\Hypertarget{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9ea382474c066d475cedcf426c9861e50e2}\label{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9ea382474c066d475cedcf426c9861e50e2}} 
USBHID\+\_\+\+CTRL\+\_\+\+DT&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{USBHID\_N\_TRANSFER@{USBHID\_N\_TRANSFER}!usbhid.c@{usbhid.c}}\index{usbhid.c@{usbhid.c}!USBHID\_N\_TRANSFER@{USBHID\_N\_TRANSFER}}}\mbox{\Hypertarget{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9eaeb5ae114f6baaa7a35fe7fa3fb7a3452}\label{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9eaeb5ae114f6baaa7a35fe7fa3fb7a3452}} 
USBHID\+\_\+\+N\+\_\+\+TRANSFER&\\
\hline

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{usbhid_8c_source_l00093}{93}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{usbhid_8c_a8c3ef283470a68cd30afe9b8a72cb60f}\label{usbhid_8c_a8c3ef283470a68cd30afe9b8a72cb60f}} 
\index{usbhid.c@{usbhid.c}!\_\_FBSDID@{\_\_FBSDID}}
\index{\_\_FBSDID@{\_\_FBSDID}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{\_\_FBSDID()}{\_\_FBSDID()}}
{\footnotesize\ttfamily \+\_\+\+\_\+\+FBSDID (\begin{DoxyParamCaption}\item[{\char`\"{}\$Free\+BSD\$\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{usbhid_8c_a3f9831cf232aa2ef7e1cb5f81ceb075d}\label{usbhid_8c_a3f9831cf232aa2ef7e1cb5f81ceb075d}} 
\index{usbhid.c@{usbhid.c}!DRIVER\_MODULE@{DRIVER\_MODULE}}
\index{DRIVER\_MODULE@{DRIVER\_MODULE}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{DRIVER\_MODULE()}{DRIVER\_MODULE()}}
{\footnotesize\ttfamily DRIVER\+\_\+\+MODULE (\begin{DoxyParamCaption}\item[{usbhid}]{,  }\item[{uhub}]{,  }\item[{\mbox{\hyperlink{usbhid_8c_a14dbd499fde4652030690c9146b8b15c}{usbhid\+\_\+driver}}}]{,  }\item[{\mbox{\hyperlink{usbhid_8c_aadee585cefcbe67dab4530ebc7366973}{usbhid\+\_\+devclass}}}]{,  }\item[{NULL}]{,  }\item[{0}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{usbhid_8c_aff100e2efcc242227a21313ba741dc00}\label{usbhid_8c_aff100e2efcc242227a21313ba741dc00}} 
\index{usbhid.c@{usbhid.c}!MODULE\_DEPEND@{MODULE\_DEPEND}}
\index{MODULE\_DEPEND@{MODULE\_DEPEND}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_DEPEND()}{MODULE\_DEPEND()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily MODULE\+\_\+\+DEPEND (\begin{DoxyParamCaption}\item[{usbhid}]{,  }\item[{hid}]{,  }\item[{1}]{,  }\item[{1}]{,  }\item[{1}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{usbhid_8c_ac2c6c89a91364101881b95f70a323200}\label{usbhid_8c_ac2c6c89a91364101881b95f70a323200}} 
\index{usbhid.c@{usbhid.c}!MODULE\_DEPEND@{MODULE\_DEPEND}}
\index{MODULE\_DEPEND@{MODULE\_DEPEND}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_DEPEND()}{MODULE\_DEPEND()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily MODULE\+\_\+\+DEPEND (\begin{DoxyParamCaption}\item[{usbhid}]{,  }\item[{hidbus}]{,  }\item[{1}]{,  }\item[{1}]{,  }\item[{1}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{usbhid_8c_a52255f3a4f26247e6710ff296da93539}\label{usbhid_8c_a52255f3a4f26247e6710ff296da93539}} 
\index{usbhid.c@{usbhid.c}!MODULE\_DEPEND@{MODULE\_DEPEND}}
\index{MODULE\_DEPEND@{MODULE\_DEPEND}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_DEPEND()}{MODULE\_DEPEND()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily MODULE\+\_\+\+DEPEND (\begin{DoxyParamCaption}\item[{usbhid}]{,  }\item[{\mbox{\hyperlink{usb__if_8m_adfa3f6da9c4881e494b180c4ebb06470}{usb}}}]{,  }\item[{1}]{,  }\item[{1}]{,  }\item[{1}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{usbhid_8c_a18c7f349699be9c93e50873fcc9cc357}\label{usbhid_8c_a18c7f349699be9c93e50873fcc9cc357}} 
\index{usbhid.c@{usbhid.c}!MODULE\_VERSION@{MODULE\_VERSION}}
\index{MODULE\_VERSION@{MODULE\_VERSION}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_VERSION()}{MODULE\_VERSION()}}
{\footnotesize\ttfamily MODULE\+\_\+\+VERSION (\begin{DoxyParamCaption}\item[{usbhid}]{,  }\item[{1}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{usbhid_8c_a71bc0462d77524e3aa32432230e2db70}\label{usbhid_8c_a71bc0462d77524e3aa32432230e2db70}} 
\index{usbhid.c@{usbhid.c}!SYSCTL\_INT@{SYSCTL\_INT}}
\index{SYSCTL\_INT@{SYSCTL\_INT}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_INT()}{SYSCTL\_INT()}}
{\footnotesize\ttfamily SYSCTL\+\_\+\+INT (\begin{DoxyParamCaption}\item[{\+\_\+hw\+\_\+usb\+\_\+usbhid}]{,  }\item[{OID\+\_\+\+AUTO}]{,  }\item[{enable}]{,  }\item[{CTLFLAG\+\_\+\+RWTUN}]{,  }\item[{\&}]{usbhid\+\_\+enable,  }\item[{0}]{,  }\item[{\char`\"{}Enable usbhid and prefer it to other USB HID drivers\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{usbhid_8c_a373997f3b64d59df22ab845be497f7f7}\label{usbhid_8c_a373997f3b64d59df22ab845be497f7f7}} 
\index{usbhid.c@{usbhid.c}!SYSCTL\_NODE@{SYSCTL\_NODE}}
\index{SYSCTL\_NODE@{SYSCTL\_NODE}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_NODE()}{SYSCTL\_NODE()}}
{\footnotesize\ttfamily static SYSCTL\+\_\+\+NODE (\begin{DoxyParamCaption}\item[{\+\_\+hw\+\_\+usb}]{,  }\item[{OID\+\_\+\+AUTO}]{,  }\item[{usbhid}]{,  }\item[{CTLFLAG\+\_\+\+RW}]{,  }\item[{0}]{,  }\item[{\char`\"{}USB usbhid\char`\"{}}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{usbhid_8c_a52673798bb4bfd3cbf3ec720d3990299}\label{usbhid_8c_a52673798bb4bfd3cbf3ec720d3990299}} 
\index{usbhid.c@{usbhid.c}!USB\_PNP\_HOST\_INFO@{USB\_PNP\_HOST\_INFO}}
\index{USB\_PNP\_HOST\_INFO@{USB\_PNP\_HOST\_INFO}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{USB\_PNP\_HOST\_INFO()}{USB\_PNP\_HOST\_INFO()}}
{\footnotesize\ttfamily USB\+\_\+\+PNP\+\_\+\+HOST\+\_\+\+INFO (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{usbhid_8c_a071f350fa7542c467572468c86408a44}{usbhid\+\_\+devs}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{usbhid_8c_a0c3880da7dd7e4166830add15fef9651}\label{usbhid_8c_a0c3880da7dd7e4166830add15fef9651}} 
\index{usbhid.c@{usbhid.c}!usbhid\_attach@{usbhid\_attach}}
\index{usbhid\_attach@{usbhid\_attach}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_attach()}{usbhid\_attach()}}
{\footnotesize\ttfamily static int usbhid\+\_\+attach (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00809}{809}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{usbdi_8h_source_l00417}{usbd\+\_\+lookup\+\_\+info\+::b\+Iface\+Index}}, \mbox{\hyperlink{usbdi_8h_source_l00418}{usbd\+\_\+lookup\+\_\+info\+::b\+Iface\+Num}}, \textbf{ child}, \textbf{ dev}, \mbox{\hyperlink{usbdi_8h_source_l00430}{usb\+\_\+attach\+\_\+arg\+::device}}, \mbox{\hyperlink{usb__util_8c_source_l00073}{device\+\_\+set\+\_\+usb\+\_\+desc()}}, \mbox{\hyperlink{umass_8c_source_l00179}{DPRINTF}}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{usbdi_8h_source_l00426}{usb\+\_\+attach\+\_\+arg\+::info}}, \mbox{\hyperlink{usbhid_8c_source_l00127}{usbhid\+\_\+softc\+::sc\+\_\+hw}}, \mbox{\hyperlink{usbhid_8c_source_l00137}{usbhid\+\_\+softc\+::sc\+\_\+iface\+\_\+index}}, \mbox{\hyperlink{usbhid_8c_source_l00136}{usbhid\+\_\+softc\+::sc\+\_\+iface\+\_\+no}}, \mbox{\hyperlink{usbhid_8c_source_l00129}{usbhid\+\_\+softc\+::sc\+\_\+mtx}}, \mbox{\hyperlink{usbhid_8c_source_l00135}{usbhid\+\_\+softc\+::sc\+\_\+udev}}, \mbox{\hyperlink{usb__error_8c_source_l00093}{usbd\+\_\+errstr()}}, \mbox{\hyperlink{usb__request_8c_source_l01862}{usbd\+\_\+req\+\_\+set\+\_\+idle()}}, \mbox{\hyperlink{usbhid_8c_source_l00144}{usbhid\+\_\+detach}}, and \mbox{\hyperlink{usbhid_8c_source_l00727}{usbhid\+\_\+fill\+\_\+device\+\_\+info()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_a0c3880da7dd7e4166830add15fef9651_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_a5f52ad4eb32ab213b4d86714cc39ca4f}\label{usbhid_8c_a5f52ad4eb32ab213b4d86714cc39ca4f}} 
\index{usbhid.c@{usbhid.c}!usbhid\_ctrl\_callback@{usbhid\_ctrl\_callback}}
\index{usbhid\_ctrl\_callback@{usbhid\_ctrl\_callback}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_ctrl\_callback()}{usbhid\_ctrl\_callback()}}
{\footnotesize\ttfamily static void usbhid\+\_\+ctrl\+\_\+callback (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$}]{xfer,  }\item[{\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}}}]{error }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00228}{228}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{usbhid_8c_source_l00114}{usbhid\+\_\+xfer\+\_\+ctx\+::buf}}, \mbox{\hyperlink{usbhid_8c_source_l00116}{usbhid\+\_\+xfer\+\_\+ctx\+::cb}}, \mbox{\hyperlink{usbhid_8c_source_l00108}{usbhid\+\_\+device\+\_\+request\+::ctrl}}, \mbox{\hyperlink{usbhid_8c_source_l00115}{usbhid\+\_\+xfer\+\_\+ctx\+::error}}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{ehci_8h_source_l00041}{len}}, \mbox{\hyperlink{usbhid_8c_source_l00113}{usbhid\+\_\+xfer\+\_\+ctx\+::req}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usb__endian_8h_source_l00053}{UGETW}}, \mbox{\hyperlink{usbdi_8h_source_l00515}{USB\+\_\+\+GET\+\_\+\+STATE}}, \mbox{\hyperlink{usbdi_8h_source_l00502}{USB\+\_\+\+ST\+\_\+\+SETUP}}, \mbox{\hyperlink{usbdi_8h_source_l00503}{USB\+\_\+\+ST\+\_\+\+TRANSFERRED}}, \mbox{\hyperlink{usb__busdma_8c_source_l00166}{usbd\+\_\+copy\+\_\+in()}}, \mbox{\hyperlink{usb__busdma_8c_source_l00283}{usbd\+\_\+copy\+\_\+out()}}, \mbox{\hyperlink{usb__error_8c_source_l00093}{usbd\+\_\+errstr()}}, \mbox{\hyperlink{usb__transfer_8c_source_l01719}{usbd\+\_\+transfer\+\_\+submit()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02156}{usbd\+\_\+xfer\+\_\+get\+\_\+frame()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02316}{usbd\+\_\+xfer\+\_\+set\+\_\+frame\+\_\+len()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02292}{usbd\+\_\+xfer\+\_\+set\+\_\+frames()}}, \mbox{\hyperlink{usb__transfer_8c_source_l03602}{usbd\+\_\+xfer\+\_\+softc()}}, and \mbox{\hyperlink{usb_8h_source_l00157}{UT\+\_\+\+READ}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_a5f52ad4eb32ab213b4d86714cc39ca4f_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_aa019b8f4b0862047dc5eb7a3a2ea3789}\label{usbhid_8c_aa019b8f4b0862047dc5eb7a3a2ea3789}} 
\index{usbhid.c@{usbhid.c}!usbhid\_detach@{usbhid\_detach}}
\index{usbhid\_detach@{usbhid\_detach}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_detach()}{usbhid\_detach()}}
{\footnotesize\ttfamily static int usbhid\+\_\+detach (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00853}{853}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \textbf{ dev}, and \mbox{\hyperlink{usbhid_8c_source_l00129}{usbhid\+\_\+softc\+::sc\+\_\+mtx}}.

\mbox{\Hypertarget{usbhid_8c_a2418dec4beb6a10b5540fefb6bbc6d63}\label{usbhid_8c_a2418dec4beb6a10b5540fefb6bbc6d63}} 
\index{usbhid.c@{usbhid.c}!usbhid\_fill\_device\_info@{usbhid\_fill\_device\_info}}
\index{usbhid\_fill\_device\_info@{usbhid\_fill\_device\_info}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_fill\_device\_info()}{usbhid\_fill\_device\_info()}}
{\footnotesize\ttfamily static void usbhid\+\_\+fill\+\_\+device\+\_\+info (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__attach__arg}{usb\+\_\+attach\+\_\+arg}} $\ast$}]{uaa,  }\item[{struct hid\+\_\+device\+\_\+info $\ast$}]{hw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00727}{727}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{usbdi_8h_source_l00417}{usbd\+\_\+lookup\+\_\+info\+::b\+Iface\+Index}}, \mbox{\hyperlink{usbdi_8h_source_l00414}{usbd\+\_\+lookup\+\_\+info\+::b\+Interface\+Class}}, \mbox{\hyperlink{structusb__hid__descriptor_af78457da1ac0ea3d421882a0a9b935ac}{usb\+\_\+hid\+\_\+descriptor\+::descrs}}, \mbox{\hyperlink{usbdi_8h_source_l00430}{usb\+\_\+attach\+\_\+arg\+::device}}, \mbox{\hyperlink{usb__hid_8c_source_l00082}{hid\+\_\+get\+\_\+descriptor\+\_\+from\+\_\+usb()}}, \mbox{\hyperlink{usbdi_8h_source_l00175}{usb\+\_\+interface\+::idesc}}, \mbox{\hyperlink{usbdi_8h_source_l00431}{usb\+\_\+attach\+\_\+arg\+::iface}}, \mbox{\hyperlink{usbdi_8h_source_l00426}{usb\+\_\+attach\+\_\+arg\+::info}}, \mbox{\hyperlink{usbdi_8h_source_l00146}{usb\+\_\+endpoint\+::methods}}, \mbox{\hyperlink{usb__endian_8h_source_l00053}{UGETW}}, \mbox{\hyperlink{usb_8h_source_l00453}{UICLASS\+\_\+\+HID}}, \mbox{\hyperlink{usb__device_8c_source_l00281}{usb\+\_\+get\+\_\+manufacturer()}}, \mbox{\hyperlink{usb__device_8c_source_l00287}{usb\+\_\+get\+\_\+product()}}, \mbox{\hyperlink{usb__device_8c_source_l00293}{usb\+\_\+get\+\_\+serial()}}, \mbox{\hyperlink{usb__device_8c_source_l02616}{usbd\+\_\+get\+\_\+config\+\_\+descriptor()}}, \mbox{\hyperlink{usb__device_8c_source_l00362}{usbd\+\_\+get\+\_\+endpoint()}}, \mbox{\hyperlink{usbhid_8c_source_l00291}{usbhid\+\_\+config}}, \mbox{\hyperlink{usbhid_8c_source_l00094}{USBHID\+\_\+\+INTR\+\_\+\+OUT\+\_\+\+DT}}, and \mbox{\hyperlink{usbhid_8h_source_l00060}{usb\+\_\+hid\+\_\+descriptor\+::w\+Descriptor\+Length}}.



Referenced by \mbox{\hyperlink{usbhid_8c_source_l00809}{usbhid\+\_\+attach()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_a2418dec4beb6a10b5540fefb6bbc6d63_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=329pt]{da/d2b/usbhid_8c_a2418dec4beb6a10b5540fefb6bbc6d63_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_ac3a984fb7f23662357a5fd983d48d99d}\label{usbhid_8c_ac3a984fb7f23662357a5fd983d48d99d}} 
\index{usbhid.c@{usbhid.c}!usbhid\_get\_rdesc@{usbhid\_get\_rdesc}}
\index{usbhid\_get\_rdesc@{usbhid\_get\_rdesc}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_get\_rdesc()}{usbhid\_get\_rdesc()}}
{\footnotesize\ttfamily static int usbhid\+\_\+get\+\_\+rdesc (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev,  }\item[{void $\ast$}]{buf,  }\item[{hid\+\_\+size\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00541}{541}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \textbf{ dev}, \mbox{\hyperlink{umass_8c_source_l00179}{DPRINTF}}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{ehci_8h_source_l00041}{len}}, \mbox{\hyperlink{usbhid_8c_source_l00137}{usbhid\+\_\+softc\+::sc\+\_\+iface\+\_\+index}}, \mbox{\hyperlink{usbhid_8c_source_l00135}{usbhid\+\_\+softc\+::sc\+\_\+udev}}, \mbox{\hyperlink{usb__error_8c_source_l00093}{usbd\+\_\+errstr()}}, and \mbox{\hyperlink{usb__request_8c_source_l01890}{usbd\+\_\+req\+\_\+get\+\_\+report\+\_\+descriptor()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_ac3a984fb7f23662357a5fd983d48d99d_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_acb1999502b083cf12bf083efd3a61ae8}\label{usbhid_8c_acb1999502b083cf12bf083efd3a61ae8}} 
\index{usbhid.c@{usbhid.c}!usbhid\_get\_report@{usbhid\_get\_report}}
\index{usbhid\_get\_report@{usbhid\_get\_report}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_get\_report()}{usbhid\_get\_report()}}
{\footnotesize\ttfamily static int usbhid\+\_\+get\+\_\+report (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev,  }\item[{void $\ast$}]{buf,  }\item[{hid\+\_\+size\+\_\+t}]{maxlen,  }\item[{hid\+\_\+size\+\_\+t $\ast$}]{actlen,  }\item[{uint8\+\_\+t}]{type,  }\item[{uint8\+\_\+t}]{id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00556}{556}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{usbhid_8c_source_l00106}{usbhid\+\_\+device\+\_\+request\+::actlen}}, \textbf{ dev}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{usbhid_8c_source_l00105}{usbhid\+\_\+device\+\_\+request\+::maxlen}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usbhid_8c_source_l00136}{usbhid\+\_\+softc\+::sc\+\_\+iface\+\_\+no}}, \textbf{ type}, \mbox{\hyperlink{usbhid_8h_source_l00045}{UR\+\_\+\+GET\+\_\+\+REPORT}}, \mbox{\hyperlink{usbhid_8c_source_l00096}{USBHID\+\_\+\+CTRL\+\_\+\+DT}}, \mbox{\hyperlink{usbhid_8c_source_l00479}{usbhid\+\_\+sync\+\_\+xfer()}}, \mbox{\hyperlink{usbhid_8c_source_l00324}{usbhid\+\_\+xfer\+\_\+check\+\_\+len()}}, \mbox{\hyperlink{usb__endian_8h_source_l00077}{USETW}}, \mbox{\hyperlink{usb__endian_8h_source_l00100}{USETW2}}, and \mbox{\hyperlink{usb_8h_source_l00173}{UT\+\_\+\+READ\+\_\+\+CLASS\+\_\+\+INTERFACE}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_acb1999502b083cf12bf083efd3a61ae8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_a7276d371699f7bd040f124ccc69beb61}\label{usbhid_8c_a7276d371699f7bd040f124ccc69beb61}} 
\index{usbhid.c@{usbhid.c}!usbhid\_init\_device\_info@{usbhid\_init\_device\_info}}
\index{usbhid\_init\_device\_info@{usbhid\_init\_device\_info}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_init\_device\_info()}{usbhid\_init\_device\_info()}}
{\footnotesize\ttfamily static void usbhid\+\_\+init\+\_\+device\+\_\+info (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__attach__arg}{usb\+\_\+attach\+\_\+arg}} $\ast$}]{uaa,  }\item[{struct hid\+\_\+device\+\_\+info $\ast$}]{hw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00714}{714}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{usbdi_8h_source_l00410}{usbd\+\_\+lookup\+\_\+info\+::bcd\+Device}}, \mbox{\hyperlink{usbdi_8h_source_l00409}{usbd\+\_\+lookup\+\_\+info\+::id\+Product}}, \mbox{\hyperlink{usbdi_8h_source_l00408}{usbd\+\_\+lookup\+\_\+info\+::id\+Vendor}}, \mbox{\hyperlink{usbdi_8h_source_l00426}{usb\+\_\+attach\+\_\+arg\+::info}}, and \mbox{\hyperlink{usbdi_8h_source_l00400}{USB\+\_\+\+GET\+\_\+\+DRIVER\+\_\+\+INFO}}.



Referenced by \mbox{\hyperlink{usbhid_8c_source_l00775}{usbhid\+\_\+probe()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=329pt]{da/d2b/usbhid_8c_a7276d371699f7bd040f124ccc69beb61_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_af7b36f9d5561df3467654dc419f67959}\label{usbhid_8c_af7b36f9d5561df3467654dc419f67959}} 
\index{usbhid.c@{usbhid.c}!usbhid\_intr\_handler\_cb@{usbhid\_intr\_handler\_cb}}
\index{usbhid\_intr\_handler\_cb@{usbhid\_intr\_handler\_cb}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_intr\_handler\_cb()}{usbhid\_intr\_handler\_cb()}}
{\footnotesize\ttfamily static int usbhid\+\_\+intr\+\_\+handler\+\_\+cb (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusbhid__xfer__ctx}{usbhid\+\_\+xfer\+\_\+ctx}} $\ast$}]{xfer\+\_\+ctx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00271}{271}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{usbhid_8c_source_l00106}{usbhid\+\_\+device\+\_\+request\+::actlen}}, \mbox{\hyperlink{usbhid_8c_source_l00114}{usbhid\+\_\+xfer\+\_\+ctx\+::buf}}, \mbox{\hyperlink{usbhid_8c_source_l00117}{usbhid\+\_\+xfer\+\_\+ctx\+::cb\+\_\+ctx}}, \mbox{\hyperlink{unionusbhid__device__request_afc4bce9c638b880f988718a314b86bfc}{usbhid\+\_\+device\+\_\+request\+::intr}}, \mbox{\hyperlink{usbhid_8c_source_l00113}{usbhid\+\_\+xfer\+\_\+ctx\+::req}}, \mbox{\hyperlink{usbhid_8c_source_l00124}{usbhid\+\_\+softc\+::sc\+\_\+intr\+\_\+ctx}}, and \mbox{\hyperlink{usbhid_8c_source_l00123}{usbhid\+\_\+softc\+::sc\+\_\+intr\+\_\+handler}}.

\mbox{\Hypertarget{usbhid_8c_abda2f3c5d8a44269fed8f340f2857d8d}\label{usbhid_8c_abda2f3c5d8a44269fed8f340f2857d8d}} 
\index{usbhid.c@{usbhid.c}!usbhid\_intr\_in\_callback@{usbhid\_intr\_in\_callback}}
\index{usbhid\_intr\_in\_callback@{usbhid\_intr\_in\_callback}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_intr\_in\_callback()}{usbhid\_intr\_in\_callback()}}
{\footnotesize\ttfamily static void usbhid\+\_\+intr\+\_\+in\+\_\+callback (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$}]{xfer,  }\item[{\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}}}]{error }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00194}{194}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{usbhid_8c_source_l00106}{usbhid\+\_\+device\+\_\+request\+::actlen}}, \mbox{\hyperlink{usbhid_8c_source_l00114}{usbhid\+\_\+xfer\+\_\+ctx\+::buf}}, \mbox{\hyperlink{usbhid_8c_source_l00116}{usbhid\+\_\+xfer\+\_\+ctx\+::cb}}, \mbox{\hyperlink{umass_8c_source_l00179}{DPRINTF}}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{unionusbhid__device__request_afc4bce9c638b880f988718a314b86bfc}{usbhid\+\_\+device\+\_\+request\+::intr}}, \mbox{\hyperlink{usbhid_8c_source_l00105}{usbhid\+\_\+device\+\_\+request\+::maxlen}}, \mbox{\hyperlink{usbhid_8c_source_l00113}{usbhid\+\_\+xfer\+\_\+ctx\+::req}}, \mbox{\hyperlink{usbdi_8h_source_l00051}{USB\+\_\+\+ERR\+\_\+\+CANCELLED}}, \mbox{\hyperlink{usbdi_8h_source_l00515}{USB\+\_\+\+GET\+\_\+\+STATE}}, \mbox{\hyperlink{usbdi_8h_source_l00502}{USB\+\_\+\+ST\+\_\+\+SETUP}}, \mbox{\hyperlink{usbdi_8h_source_l00503}{USB\+\_\+\+ST\+\_\+\+TRANSFERRED}}, \mbox{\hyperlink{usb__busdma_8c_source_l00283}{usbd\+\_\+copy\+\_\+out()}}, \mbox{\hyperlink{usb__transfer_8c_source_l01719}{usbd\+\_\+transfer\+\_\+submit()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02156}{usbd\+\_\+xfer\+\_\+get\+\_\+frame()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02316}{usbd\+\_\+xfer\+\_\+set\+\_\+frame\+\_\+len()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02754}{usbd\+\_\+xfer\+\_\+set\+\_\+stall()}}, \mbox{\hyperlink{usb__transfer_8c_source_l03602}{usbd\+\_\+xfer\+\_\+softc()}}, and \mbox{\hyperlink{usb__transfer_8c_source_l02247}{usbd\+\_\+xfer\+\_\+status()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_abda2f3c5d8a44269fed8f340f2857d8d_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_ac089182e7052b5902b635f04b2384895}\label{usbhid_8c_ac089182e7052b5902b635f04b2384895}} 
\index{usbhid.c@{usbhid.c}!usbhid\_intr\_out\_callback@{usbhid\_intr\_out\_callback}}
\index{usbhid\_intr\_out\_callback@{usbhid\_intr\_out\_callback}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_intr\_out\_callback()}{usbhid\_intr\_out\_callback()}}
{\footnotesize\ttfamily static void usbhid\+\_\+intr\+\_\+out\+\_\+callback (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$}]{xfer,  }\item[{\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}}}]{error }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00154}{154}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{usbhid_8c_source_l00114}{usbhid\+\_\+xfer\+\_\+ctx\+::buf}}, \mbox{\hyperlink{usbhid_8c_source_l00116}{usbhid\+\_\+xfer\+\_\+ctx\+::cb}}, \mbox{\hyperlink{usbhid_8c_source_l00115}{usbhid\+\_\+xfer\+\_\+ctx\+::error}}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{unionusbhid__device__request_afc4bce9c638b880f988718a314b86bfc}{usbhid\+\_\+device\+\_\+request\+::intr}}, \mbox{\hyperlink{ehci_8h_source_l00041}{len}}, \mbox{\hyperlink{usbhid_8c_source_l00105}{usbhid\+\_\+device\+\_\+request\+::maxlen}}, \mbox{\hyperlink{usbhid_8c_source_l00113}{usbhid\+\_\+xfer\+\_\+ctx\+::req}}, \mbox{\hyperlink{usbdi_8h_source_l00051}{USB\+\_\+\+ERR\+\_\+\+CANCELLED}}, \mbox{\hyperlink{usbdi_8h_source_l00515}{USB\+\_\+\+GET\+\_\+\+STATE}}, \mbox{\hyperlink{usb__freebsd_8h_source_l00096}{USB\+\_\+\+IN\+\_\+\+POLLING\+\_\+\+MODE\+\_\+\+FUNC}}, \mbox{\hyperlink{usbdi_8h_source_l00502}{USB\+\_\+\+ST\+\_\+\+SETUP}}, \mbox{\hyperlink{usbdi_8h_source_l00503}{USB\+\_\+\+ST\+\_\+\+TRANSFERRED}}, \mbox{\hyperlink{usb__busdma_8c_source_l00166}{usbd\+\_\+copy\+\_\+in()}}, \mbox{\hyperlink{usb__transfer_8c_source_l01719}{usbd\+\_\+transfer\+\_\+submit()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02156}{usbd\+\_\+xfer\+\_\+get\+\_\+frame()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02316}{usbd\+\_\+xfer\+\_\+set\+\_\+frame\+\_\+len()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02754}{usbd\+\_\+xfer\+\_\+set\+\_\+stall()}}, and \mbox{\hyperlink{usb__transfer_8c_source_l03602}{usbd\+\_\+xfer\+\_\+softc()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_ac089182e7052b5902b635f04b2384895_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_a7d8f93bad64493065ce512486ee2a179}\label{usbhid_8c_a7d8f93bad64493065ce512486ee2a179}} 
\index{usbhid.c@{usbhid.c}!usbhid\_intr\_poll@{usbhid\_intr\_poll}}
\index{usbhid\_intr\_poll@{usbhid\_intr\_poll}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_intr\_poll()}{usbhid\_intr\_poll()}}
{\footnotesize\ttfamily static void usbhid\+\_\+intr\+\_\+poll (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00466}{466}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \textbf{ dev}, \mbox{\hyperlink{usbhid_8c_source_l00092}{POLL\+\_\+\+XFER}}, \mbox{\hyperlink{usbhid_8c_source_l00133}{usbhid\+\_\+softc\+::sc\+\_\+can\+\_\+poll}}, \mbox{\hyperlink{usbhid_8c_source_l00131}{usbhid\+\_\+softc\+::sc\+\_\+xfer}}, \mbox{\hyperlink{usb__transfer_8c_source_l03428}{usbd\+\_\+transfer\+\_\+poll()}}, and \mbox{\hyperlink{usbhid_8c_source_l00095}{USBHID\+\_\+\+INTR\+\_\+\+IN\+\_\+\+DT}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=317pt]{da/d2b/usbhid_8c_a7d8f93bad64493065ce512486ee2a179_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_a3d5572ecd6fb3c996605dce2ed3a394e}\label{usbhid_8c_a3d5572ecd6fb3c996605dce2ed3a394e}} 
\index{usbhid.c@{usbhid.c}!usbhid\_intr\_setup@{usbhid\_intr\_setup}}
\index{usbhid\_intr\_setup@{usbhid\_intr\_setup}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_intr\_setup()}{usbhid\_intr\_setup()}}
{\footnotesize\ttfamily static void usbhid\+\_\+intr\+\_\+setup (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev,  }\item[{hid\+\_\+intr\+\_\+t}]{intr,  }\item[{void $\ast$}]{context,  }\item[{struct hid\+\_\+rdesc\+\_\+info $\ast$}]{rdesc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00336}{336}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{usbdi_8h_source_l00230}{usb\+\_\+config\+::bufsize}}, \textbf{ dev}, \mbox{\hyperlink{umass_8c_source_l00179}{DPRINTF}}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{usb__core_8h_source_l00182}{usb\+\_\+xfer\+::flags\+\_\+int}}, \mbox{\hyperlink{if__run_8c_source_l00612}{n}}, \mbox{\hyperlink{usbhid_8c_source_l00092}{POLL\+\_\+\+XFER}}, \mbox{\hyperlink{usbhid_8c_source_l00133}{usbhid\+\_\+softc\+::sc\+\_\+can\+\_\+poll}}, \mbox{\hyperlink{usbhid_8c_source_l00130}{usbhid\+\_\+softc\+::sc\+\_\+config}}, \mbox{\hyperlink{usbhid_8c_source_l00127}{usbhid\+\_\+softc\+::sc\+\_\+hw}}, \mbox{\hyperlink{usbhid_8c_source_l00137}{usbhid\+\_\+softc\+::sc\+\_\+iface\+\_\+index}}, \mbox{\hyperlink{usbhid_8c_source_l00125}{usbhid\+\_\+softc\+::sc\+\_\+intr\+\_\+buf}}, \mbox{\hyperlink{usbhid_8c_source_l00124}{usbhid\+\_\+softc\+::sc\+\_\+intr\+\_\+ctx}}, \mbox{\hyperlink{usbhid_8c_source_l00123}{usbhid\+\_\+softc\+::sc\+\_\+intr\+\_\+handler}}, \mbox{\hyperlink{usbhid_8c_source_l00129}{usbhid\+\_\+softc\+::sc\+\_\+mtx}}, \mbox{\hyperlink{usbhid_8c_source_l00135}{usbhid\+\_\+softc\+::sc\+\_\+udev}}, \mbox{\hyperlink{usbhid_8c_source_l00131}{usbhid\+\_\+softc\+::sc\+\_\+xfer}}, \mbox{\hyperlink{usbhid_8c_source_l00132}{usbhid\+\_\+softc\+::sc\+\_\+xfer\+\_\+ctx}}, \mbox{\hyperlink{usb__core_8h_source_l00101}{usb\+\_\+xfer\+\_\+flags\+\_\+int\+::started}}, \mbox{\hyperlink{usb__error_8c_source_l00093}{usbd\+\_\+errstr()}}, \mbox{\hyperlink{usb__transfer_8c_source_l00987}{usbd\+\_\+transfer\+\_\+setup()}}, \mbox{\hyperlink{usb__transfer_8c_source_l01948}{usbd\+\_\+transfer\+\_\+start()}}, \mbox{\hyperlink{usbhid_8c_source_l00291}{usbhid\+\_\+config}}, \mbox{\hyperlink{usbhid_8c_source_l00096}{USBHID\+\_\+\+CTRL\+\_\+\+DT}}, \mbox{\hyperlink{usbhid_8c_source_l00095}{USBHID\+\_\+\+INTR\+\_\+\+IN\+\_\+\+DT}}, \mbox{\hyperlink{usbhid_8c_source_l00094}{USBHID\+\_\+\+INTR\+\_\+\+OUT\+\_\+\+DT}}, \mbox{\hyperlink{usbhid_8c_source_l00097}{USBHID\+\_\+\+N\+\_\+\+TRANSFER}}, and \mbox{\hyperlink{usbhid_8c_source_l00318}{usbhid\+\_\+xfer\+\_\+max\+\_\+len()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_a3d5572ecd6fb3c996605dce2ed3a394e_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_ac5e69d2b85d8fbb73ce88f2c2c6b452b}\label{usbhid_8c_ac5e69d2b85d8fbb73ce88f2c2c6b452b}} 
\index{usbhid.c@{usbhid.c}!usbhid\_intr\_start@{usbhid\_intr\_start}}
\index{usbhid\_intr\_start@{usbhid\_intr\_start}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_intr\_start()}{usbhid\_intr\_start()}}
{\footnotesize\ttfamily static int usbhid\+\_\+intr\+\_\+start (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00422}{422}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \textbf{ dev}, \mbox{\hyperlink{unionusbhid__device__request_afc4bce9c638b880f988718a314b86bfc}{usbhid\+\_\+device\+\_\+request\+::intr}}, \mbox{\hyperlink{usbhid_8c_source_l00105}{usbhid\+\_\+device\+\_\+request\+::maxlen}}, \mbox{\hyperlink{usbhid_8c_source_l00092}{POLL\+\_\+\+XFER}}, \mbox{\hyperlink{usbhid_8c_source_l00113}{usbhid\+\_\+xfer\+\_\+ctx\+::req}}, \mbox{\hyperlink{usbhid_8c_source_l00133}{usbhid\+\_\+softc\+::sc\+\_\+can\+\_\+poll}}, \mbox{\hyperlink{usbhid_8c_source_l00125}{usbhid\+\_\+softc\+::sc\+\_\+intr\+\_\+buf}}, \mbox{\hyperlink{usbhid_8c_source_l00129}{usbhid\+\_\+softc\+::sc\+\_\+mtx}}, \mbox{\hyperlink{usbhid_8c_source_l00131}{usbhid\+\_\+softc\+::sc\+\_\+xfer}}, \mbox{\hyperlink{usbhid_8c_source_l00132}{usbhid\+\_\+softc\+::sc\+\_\+xfer\+\_\+ctx}}, \mbox{\hyperlink{usb__transfer_8c_source_l01948}{usbd\+\_\+transfer\+\_\+start()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02304}{usbd\+\_\+xfer\+\_\+max\+\_\+len()}}, \mbox{\hyperlink{usbhid_8c_source_l00150}{usbhid\+\_\+intr\+\_\+handler\+\_\+cb}}, and \mbox{\hyperlink{usbhid_8c_source_l00095}{USBHID\+\_\+\+INTR\+\_\+\+IN\+\_\+\+DT}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_ac5e69d2b85d8fbb73ce88f2c2c6b452b_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_af91a00eee7b258f3d4c1034d9b712a3c}\label{usbhid_8c_af91a00eee7b258f3d4c1034d9b712a3c}} 
\index{usbhid.c@{usbhid.c}!usbhid\_intr\_stop@{usbhid\_intr\_stop}}
\index{usbhid\_intr\_stop@{usbhid\_intr\_stop}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_intr\_stop()}{usbhid\_intr\_stop()}}
{\footnotesize\ttfamily static int usbhid\+\_\+intr\+\_\+stop (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00453}{453}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \textbf{ dev}, \mbox{\hyperlink{usbhid_8c_source_l00092}{POLL\+\_\+\+XFER}}, \mbox{\hyperlink{usbhid_8c_source_l00133}{usbhid\+\_\+softc\+::sc\+\_\+can\+\_\+poll}}, \mbox{\hyperlink{usbhid_8c_source_l00131}{usbhid\+\_\+softc\+::sc\+\_\+xfer}}, \mbox{\hyperlink{usb__transfer_8c_source_l02119}{usbd\+\_\+transfer\+\_\+drain()}}, \mbox{\hyperlink{usbhid_8c_source_l00095}{USBHID\+\_\+\+INTR\+\_\+\+IN\+\_\+\+DT}}, and \mbox{\hyperlink{usbhid_8c_source_l00094}{USBHID\+\_\+\+INTR\+\_\+\+OUT\+\_\+\+DT}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_af91a00eee7b258f3d4c1034d9b712a3c_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_acd7082e0d3165353e550aea14fae527a}\label{usbhid_8c_acd7082e0d3165353e550aea14fae527a}} 
\index{usbhid.c@{usbhid.c}!usbhid\_intr\_unsetup@{usbhid\_intr\_unsetup}}
\index{usbhid\_intr\_unsetup@{usbhid\_intr\_unsetup}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_intr\_unsetup()}{usbhid\_intr\_unsetup()}}
{\footnotesize\ttfamily static void usbhid\+\_\+intr\+\_\+unsetup (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00409}{409}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \textbf{ dev}, \mbox{\hyperlink{usbhid_8c_source_l00092}{POLL\+\_\+\+XFER}}, \mbox{\hyperlink{usbhid_8c_source_l00133}{usbhid\+\_\+softc\+::sc\+\_\+can\+\_\+poll}}, \mbox{\hyperlink{usbhid_8c_source_l00125}{usbhid\+\_\+softc\+::sc\+\_\+intr\+\_\+buf}}, \mbox{\hyperlink{usbhid_8c_source_l00131}{usbhid\+\_\+softc\+::sc\+\_\+xfer}}, \mbox{\hyperlink{usb__transfer_8c_source_l01431}{usbd\+\_\+transfer\+\_\+unsetup()}}, and \mbox{\hyperlink{usbhid_8c_source_l00097}{USBHID\+\_\+\+N\+\_\+\+TRANSFER}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_acd7082e0d3165353e550aea14fae527a_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_ab5c59db84e54fe799617d26cff13f8c7}\label{usbhid_8c_ab5c59db84e54fe799617d26cff13f8c7}} 
\index{usbhid.c@{usbhid.c}!usbhid\_ioctl@{usbhid\_ioctl}}
\index{usbhid\_ioctl@{usbhid\_ioctl}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_ioctl()}{usbhid\_ioctl()}}
{\footnotesize\ttfamily static int usbhid\+\_\+ioctl (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev,  }\item[{unsigned long}]{cmd,  }\item[{uintptr\+\_\+t}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00683}{683}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \textbf{ data}, \textbf{ dev}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usbhid_8c_source_l00135}{usbhid\+\_\+softc\+::sc\+\_\+udev}}, \mbox{\hyperlink{usb__ioctl_8h_source_l00076}{usb\+\_\+ctl\+\_\+request\+::ucr\+\_\+actlen}}, \mbox{\hyperlink{usb__ioctl_8h_source_l00074}{usb\+\_\+ctl\+\_\+request\+::ucr\+\_\+data}}, \mbox{\hyperlink{usb__ioctl_8h_source_l00078}{usb\+\_\+ctl\+\_\+request\+::ucr\+\_\+request}}, \mbox{\hyperlink{usb__endian_8h_source_l00053}{UGETW}}, \mbox{\hyperlink{usb__util_8h_a42e1e1df5311999a79a6eefba78cc5cd}{usb\+\_\+check\+\_\+request()}}, \mbox{\hyperlink{usb__ioctl_8h_source_l00235}{USB\+\_\+\+REQUEST}}, \mbox{\hyperlink{usbhid_8c_source_l00096}{USBHID\+\_\+\+CTRL\+\_\+\+DT}}, \mbox{\hyperlink{usbhid_8c_source_l00479}{usbhid\+\_\+sync\+\_\+xfer()}}, and \mbox{\hyperlink{usbhid_8c_source_l00324}{usbhid\+\_\+xfer\+\_\+check\+\_\+len()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_ab5c59db84e54fe799617d26cff13f8c7_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_ac8c6a281317babff8ba1e1c2fba0db89}\label{usbhid_8c_ac8c6a281317babff8ba1e1c2fba0db89}} 
\index{usbhid.c@{usbhid.c}!usbhid\_probe@{usbhid\_probe}}
\index{usbhid\_probe@{usbhid\_probe}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_probe()}{usbhid\_probe()}}
{\footnotesize\ttfamily static int usbhid\+\_\+probe (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00775}{775}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \textbf{ dev}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{usbhid_8c_source_l00127}{usbhid\+\_\+softc\+::sc\+\_\+hw}}, \mbox{\hyperlink{usb__quirk_8h_source_l00051}{UQ\+\_\+\+HID\+\_\+\+IGNORE}}, \mbox{\hyperlink{usbdi_8h_source_l00432}{usb\+\_\+attach\+\_\+arg\+::usb\+\_\+mode}}, \mbox{\hyperlink{usb_8h_source_l00778}{USB\+\_\+\+MODE\+\_\+\+HOST}}, \mbox{\hyperlink{usb__device_8c_source_l02631}{usb\+\_\+test\+\_\+quirk()}}, \mbox{\hyperlink{usb__lookup_8c_source_l00143}{usbd\+\_\+lookup\+\_\+id\+\_\+by\+\_\+uaa()}}, \mbox{\hyperlink{usbhid_8c_source_l00754}{usbhid\+\_\+devs}}, \mbox{\hyperlink{usbhid_8c_source_l00082}{usbhid\+\_\+enable}}, and \mbox{\hyperlink{usbhid_8c_source_l00714}{usbhid\+\_\+init\+\_\+device\+\_\+info()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_ac8c6a281317babff8ba1e1c2fba0db89_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_a14c70925219daadd88f008204907a48d}\label{usbhid_8c_a14c70925219daadd88f008204907a48d}} 
\index{usbhid.c@{usbhid.c}!usbhid\_read@{usbhid\_read}}
\index{usbhid\_read@{usbhid\_read}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_read()}{usbhid\_read()}}
{\footnotesize\ttfamily static int usbhid\+\_\+read (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev,  }\item[{void $\ast$}]{buf,  }\item[{hid\+\_\+size\+\_\+t}]{maxlen,  }\item[{hid\+\_\+size\+\_\+t $\ast$}]{actlen }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00605}{605}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{usbhid_8c_source_l00106}{usbhid\+\_\+device\+\_\+request\+::actlen}}, \textbf{ dev}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{usbhid_8c_source_l00105}{usbhid\+\_\+device\+\_\+request\+::maxlen}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usbhid_8c_source_l00095}{USBHID\+\_\+\+INTR\+\_\+\+IN\+\_\+\+DT}}, \mbox{\hyperlink{usbhid_8c_source_l00479}{usbhid\+\_\+sync\+\_\+xfer()}}, and \mbox{\hyperlink{usbhid_8c_source_l00324}{usbhid\+\_\+xfer\+\_\+check\+\_\+len()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_a14c70925219daadd88f008204907a48d_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_abc7086b7f071b21180fc058983213bdc}\label{usbhid_8c_abc7086b7f071b21180fc058983213bdc}} 
\index{usbhid.c@{usbhid.c}!usbhid\_set\_idle@{usbhid\_set\_idle}}
\index{usbhid\_set\_idle@{usbhid\_set\_idle}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_set\_idle()}{usbhid\_set\_idle()}}
{\footnotesize\ttfamily static int usbhid\+\_\+set\+\_\+idle (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev,  }\item[{uint16\+\_\+t}]{duration,  }\item[{uint8\+\_\+t}]{id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00640}{640}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \textbf{ dev}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usbhid_8c_source_l00136}{usbhid\+\_\+softc\+::sc\+\_\+iface\+\_\+no}}, \mbox{\hyperlink{usbhid_8h_source_l00048}{UR\+\_\+\+SET\+\_\+\+IDLE}}, \mbox{\hyperlink{usbhid_8c_source_l00096}{USBHID\+\_\+\+CTRL\+\_\+\+DT}}, \mbox{\hyperlink{usbhid_8c_source_l00479}{usbhid\+\_\+sync\+\_\+xfer()}}, \mbox{\hyperlink{usbhid_8c_source_l00324}{usbhid\+\_\+xfer\+\_\+check\+\_\+len()}}, \mbox{\hyperlink{usb__endian_8h_source_l00077}{USETW}}, \mbox{\hyperlink{usb__endian_8h_source_l00100}{USETW2}}, and \mbox{\hyperlink{usb_8h_source_l00177}{UT\+\_\+\+WRITE\+\_\+\+CLASS\+\_\+\+INTERFACE}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_abc7086b7f071b21180fc058983213bdc_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_a70bdb90b15384fc0adc39e857a0500a9}\label{usbhid_8c_a70bdb90b15384fc0adc39e857a0500a9}} 
\index{usbhid.c@{usbhid.c}!usbhid\_set\_protocol@{usbhid\_set\_protocol}}
\index{usbhid\_set\_protocol@{usbhid\_set\_protocol}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_set\_protocol()}{usbhid\_set\_protocol()}}
{\footnotesize\ttfamily static int usbhid\+\_\+set\+\_\+protocol (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev,  }\item[{uint16\+\_\+t}]{protocol }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00662}{662}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \textbf{ dev}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usbhid_8c_source_l00136}{usbhid\+\_\+softc\+::sc\+\_\+iface\+\_\+no}}, \mbox{\hyperlink{usbhid_8h_source_l00050}{UR\+\_\+\+SET\+\_\+\+PROTOCOL}}, \mbox{\hyperlink{usbhid_8c_source_l00096}{USBHID\+\_\+\+CTRL\+\_\+\+DT}}, \mbox{\hyperlink{usbhid_8c_source_l00479}{usbhid\+\_\+sync\+\_\+xfer()}}, \mbox{\hyperlink{usbhid_8c_source_l00324}{usbhid\+\_\+xfer\+\_\+check\+\_\+len()}}, \mbox{\hyperlink{usb__endian_8h_source_l00077}{USETW}}, and \mbox{\hyperlink{usb_8h_source_l00177}{UT\+\_\+\+WRITE\+\_\+\+CLASS\+\_\+\+INTERFACE}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_a70bdb90b15384fc0adc39e857a0500a9_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_ae5b395375876c407a922369ee382eddd}\label{usbhid_8c_ae5b395375876c407a922369ee382eddd}} 
\index{usbhid.c@{usbhid.c}!usbhid\_set\_report@{usbhid\_set\_report}}
\index{usbhid\_set\_report@{usbhid\_set\_report}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_set\_report()}{usbhid\_set\_report()}}
{\footnotesize\ttfamily static int usbhid\+\_\+set\+\_\+report (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev,  }\item[{const void $\ast$}]{buf,  }\item[{hid\+\_\+size\+\_\+t}]{len,  }\item[{uint8\+\_\+t}]{type,  }\item[{uint8\+\_\+t}]{id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00582}{582}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \textbf{ dev}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{ehci_8h_source_l00041}{len}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usbhid_8c_source_l00136}{usbhid\+\_\+softc\+::sc\+\_\+iface\+\_\+no}}, \textbf{ type}, \mbox{\hyperlink{usbhid_8h_source_l00046}{UR\+\_\+\+SET\+\_\+\+REPORT}}, \mbox{\hyperlink{usbhid_8c_source_l00096}{USBHID\+\_\+\+CTRL\+\_\+\+DT}}, \mbox{\hyperlink{usbhid_8c_source_l00479}{usbhid\+\_\+sync\+\_\+xfer()}}, \mbox{\hyperlink{usbhid_8c_source_l00324}{usbhid\+\_\+xfer\+\_\+check\+\_\+len()}}, \mbox{\hyperlink{usb__endian_8h_source_l00077}{USETW}}, \mbox{\hyperlink{usb__endian_8h_source_l00100}{USETW2}}, and \mbox{\hyperlink{usb_8h_source_l00177}{UT\+\_\+\+WRITE\+\_\+\+CLASS\+\_\+\+INTERFACE}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_ae5b395375876c407a922369ee382eddd_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_a84dbdf2985c8afe18fccee987e73e2a1}\label{usbhid_8c_a84dbdf2985c8afe18fccee987e73e2a1}} 
\index{usbhid.c@{usbhid.c}!usbhid\_sync\_wakeup\_cb@{usbhid\_sync\_wakeup\_cb}}
\index{usbhid\_sync\_wakeup\_cb@{usbhid\_sync\_wakeup\_cb}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_sync\_wakeup\_cb()}{usbhid\_sync\_wakeup\_cb()}}
{\footnotesize\ttfamily static int usbhid\+\_\+sync\+\_\+wakeup\+\_\+cb (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusbhid__xfer__ctx}{usbhid\+\_\+xfer\+\_\+ctx}} $\ast$}]{xfer\+\_\+ctx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00282}{282}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{usbhid_8c_source_l00117}{usbhid\+\_\+xfer\+\_\+ctx\+::cb\+\_\+ctx}}, and \mbox{\hyperlink{usb__freebsd_8h_source_l00096}{USB\+\_\+\+IN\+\_\+\+POLLING\+\_\+\+MODE\+\_\+\+FUNC}}.

\mbox{\Hypertarget{usbhid_8c_a6ab499c9091e13f25d6e7f92b1150be9}\label{usbhid_8c_a6ab499c9091e13f25d6e7f92b1150be9}} 
\index{usbhid.c@{usbhid.c}!usbhid\_sync\_xfer@{usbhid\_sync\_xfer}}
\index{usbhid\_sync\_xfer@{usbhid\_sync\_xfer}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_sync\_xfer()}{usbhid\_sync\_xfer()}}
{\footnotesize\ttfamily static int usbhid\+\_\+sync\+\_\+xfer (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusbhid__softc}{usbhid\+\_\+softc}} $\ast$}]{sc,  }\item[{int}]{xfer\+\_\+idx,  }\item[{union \mbox{\hyperlink{unionusbhid__device__request}{usbhid\+\_\+device\+\_\+request}} $\ast$}]{req,  }\item[{void $\ast$}]{buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00479}{479}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{usbhid_8c_source_l00114}{usbhid\+\_\+xfer\+\_\+ctx\+::buf}}, \mbox{\hyperlink{usbhid_8c_source_l00116}{usbhid\+\_\+xfer\+\_\+ctx\+::cb}}, \mbox{\hyperlink{usbhid_8c_source_l00117}{usbhid\+\_\+xfer\+\_\+ctx\+::cb\+\_\+ctx}}, \mbox{\hyperlink{usbdi_8h_source_l00240}{usb\+\_\+config\+::direction}}, \mbox{\hyperlink{umass_8c_source_l00179}{DPRINTF}}, \mbox{\hyperlink{usbhid_8c_source_l00115}{usbhid\+\_\+xfer\+\_\+ctx\+::error}}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{usbhid_8c_source_l00119}{usbhid\+\_\+xfer\+\_\+ctx\+::influx}}, \mbox{\hyperlink{usbhid_8c_source_l00092}{POLL\+\_\+\+XFER}}, \mbox{\hyperlink{usbhid_8c_source_l00113}{usbhid\+\_\+xfer\+\_\+ctx\+::req}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usbhid_8c_source_l00130}{usbhid\+\_\+softc\+::sc\+\_\+config}}, \mbox{\hyperlink{usbhid_8c_source_l00129}{usbhid\+\_\+softc\+::sc\+\_\+mtx}}, \mbox{\hyperlink{usbhid_8c_source_l00131}{usbhid\+\_\+softc\+::sc\+\_\+xfer}}, \mbox{\hyperlink{usbhid_8c_source_l00132}{usbhid\+\_\+softc\+::sc\+\_\+xfer\+\_\+ctx}}, \mbox{\hyperlink{usbdi_8h_source_l00238}{usb\+\_\+config\+::type}}, \mbox{\hyperlink{usb_8h_source_l00532}{UE\+\_\+\+DIR\+\_\+\+OUT}}, \mbox{\hyperlink{usb_8h_source_l00544}{UE\+\_\+\+INTERRUPT}}, \mbox{\hyperlink{usbdi_8h_source_l00089}{USB\+\_\+\+DEFAULT\+\_\+\+TIMEOUT}}, \mbox{\hyperlink{usb__freebsd_8h_source_l00096}{USB\+\_\+\+IN\+\_\+\+POLLING\+\_\+\+MODE\+\_\+\+FUNC}}, \mbox{\hyperlink{usb__transfer_8c_source_l03428}{usbd\+\_\+transfer\+\_\+poll()}}, \mbox{\hyperlink{usb__transfer_8c_source_l01948}{usbd\+\_\+transfer\+\_\+start()}}, \mbox{\hyperlink{usb__transfer_8c_source_l01984}{usbd\+\_\+transfer\+\_\+stop()}}, \mbox{\hyperlink{usbhid_8c_source_l00151}{usbhid\+\_\+sync\+\_\+wakeup\+\_\+cb}}, and \mbox{\hyperlink{usbhid_8c_source_l00118}{usbhid\+\_\+xfer\+\_\+ctx\+::waiters}}.



Referenced by \mbox{\hyperlink{usbhid_8c_source_l00556}{usbhid\+\_\+get\+\_\+report()}}, \mbox{\hyperlink{usbhid_8c_source_l00683}{usbhid\+\_\+ioctl()}}, \mbox{\hyperlink{usbhid_8c_source_l00605}{usbhid\+\_\+read()}}, \mbox{\hyperlink{usbhid_8c_source_l00640}{usbhid\+\_\+set\+\_\+idle()}}, \mbox{\hyperlink{usbhid_8c_source_l00662}{usbhid\+\_\+set\+\_\+protocol()}}, \mbox{\hyperlink{usbhid_8c_source_l00582}{usbhid\+\_\+set\+\_\+report()}}, and \mbox{\hyperlink{usbhid_8c_source_l00624}{usbhid\+\_\+write()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_a6ab499c9091e13f25d6e7f92b1150be9_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=331pt]{da/d2b/usbhid_8c_a6ab499c9091e13f25d6e7f92b1150be9_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_a9554130e65c6ee21e27667522357aae3}\label{usbhid_8c_a9554130e65c6ee21e27667522357aae3}} 
\index{usbhid.c@{usbhid.c}!usbhid\_write@{usbhid\_write}}
\index{usbhid\_write@{usbhid\_write}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_write()}{usbhid\_write()}}
{\footnotesize\ttfamily static int usbhid\+\_\+write (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev,  }\item[{const void $\ast$}]{buf,  }\item[{hid\+\_\+size\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00624}{624}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \textbf{ dev}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{ehci_8h_source_l00041}{len}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usbhid_8c_source_l00094}{USBHID\+\_\+\+INTR\+\_\+\+OUT\+\_\+\+DT}}, \mbox{\hyperlink{usbhid_8c_source_l00479}{usbhid\+\_\+sync\+\_\+xfer()}}, and \mbox{\hyperlink{usbhid_8c_source_l00324}{usbhid\+\_\+xfer\+\_\+check\+\_\+len()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_a9554130e65c6ee21e27667522357aae3_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_a830b837074626f4d0f47637093633d08}\label{usbhid_8c_a830b837074626f4d0f47637093633d08}} 
\index{usbhid.c@{usbhid.c}!usbhid\_xfer\_check\_len@{usbhid\_xfer\_check\_len}}
\index{usbhid\_xfer\_check\_len@{usbhid\_xfer\_check\_len}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_xfer\_check\_len()}{usbhid\_xfer\_check\_len()}}
{\footnotesize\ttfamily static int usbhid\+\_\+xfer\+\_\+check\+\_\+len (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusbhid__softc}{usbhid\+\_\+softc}} $\ast$}]{sc,  }\item[{int}]{xfer\+\_\+idx,  }\item[{hid\+\_\+size\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00324}{324}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{ehci_8h_source_l00041}{len}}, \mbox{\hyperlink{usbhid_8c_source_l00092}{POLL\+\_\+\+XFER}}, \mbox{\hyperlink{usbhid_8c_source_l00131}{usbhid\+\_\+softc\+::sc\+\_\+xfer}}, \mbox{\hyperlink{usb__freebsd_8h_source_l00096}{USB\+\_\+\+IN\+\_\+\+POLLING\+\_\+\+MODE\+\_\+\+FUNC}}, and \mbox{\hyperlink{usb__transfer_8c_source_l02304}{usbd\+\_\+xfer\+\_\+max\+\_\+len()}}.



Referenced by \mbox{\hyperlink{usbhid_8c_source_l00556}{usbhid\+\_\+get\+\_\+report()}}, \mbox{\hyperlink{usbhid_8c_source_l00683}{usbhid\+\_\+ioctl()}}, \mbox{\hyperlink{usbhid_8c_source_l00605}{usbhid\+\_\+read()}}, \mbox{\hyperlink{usbhid_8c_source_l00640}{usbhid\+\_\+set\+\_\+idle()}}, \mbox{\hyperlink{usbhid_8c_source_l00662}{usbhid\+\_\+set\+\_\+protocol()}}, \mbox{\hyperlink{usbhid_8c_source_l00582}{usbhid\+\_\+set\+\_\+report()}}, and \mbox{\hyperlink{usbhid_8c_source_l00624}{usbhid\+\_\+write()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_a830b837074626f4d0f47637093633d08_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d2b/usbhid_8c_a830b837074626f4d0f47637093633d08_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbhid_8c_accb6837693d5fdbc4ca179eeb590a1be}\label{usbhid_8c_accb6837693d5fdbc4ca179eeb590a1be}} 
\index{usbhid.c@{usbhid.c}!usbhid\_xfer\_max\_len@{usbhid\_xfer\_max\_len}}
\index{usbhid\_xfer\_max\_len@{usbhid\_xfer\_max\_len}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_xfer\_max\_len()}{usbhid\_xfer\_max\_len()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{usb__freebsd_8h_a66bb6b1869e5e89aff3b693720b39cfb}{usb\+\_\+frlength\+\_\+t}} usbhid\+\_\+xfer\+\_\+max\+\_\+len (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$}]{xfer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00318}{318}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



References \mbox{\hyperlink{usb__transfer_8c_source_l02304}{usbd\+\_\+xfer\+\_\+max\+\_\+len()}}.



Referenced by \mbox{\hyperlink{usbhid_8c_source_l00336}{usbhid\+\_\+intr\+\_\+setup()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=349pt]{da/d2b/usbhid_8c_accb6837693d5fdbc4ca179eeb590a1be_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=340pt]{da/d2b/usbhid_8c_accb6837693d5fdbc4ca179eeb590a1be_icgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{usbhid_8c_a900f97bcd59540ff3d7932da8340337a}\label{usbhid_8c_a900f97bcd59540ff3d7932da8340337a}} 
\index{usbhid.c@{usbhid.c}!usbhid\_attach@{usbhid\_attach}}
\index{usbhid\_attach@{usbhid\_attach}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_attach}{usbhid\_attach}}
{\footnotesize\ttfamily device\+\_\+attach\+\_\+t usbhid\+\_\+attach\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00143}{143}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.

\mbox{\Hypertarget{usbhid_8c_aab749bd3dec9ee2e252e6bf4d5464ccb}\label{usbhid_8c_aab749bd3dec9ee2e252e6bf4d5464ccb}} 
\index{usbhid.c@{usbhid.c}!usbhid\_config@{usbhid\_config}}
\index{usbhid\_config@{usbhid\_config}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_config}{usbhid\_config}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__config}{usb\+\_\+config}} usbhid\+\_\+config\mbox{[}\mbox{\hyperlink{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9eaeb5ae114f6baaa7a35fe7fa3fb7a3452}{USBHID\+\_\+\+N\+\_\+\+TRANSFER}}\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{}
\DoxyCodeLine{        [\mbox{\hyperlink{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9ead7bda12e507ac9afa9e23cae11b3b15a}{USBHID\_INTR\_OUT\_DT}}] = \{}
\DoxyCodeLine{                .type = \mbox{\hyperlink{usb_8h_a01e28e87ad16f6dfffefc6ccab08baed}{UE\_INTERRUPT}},}
\DoxyCodeLine{                .endpoint = \mbox{\hyperlink{usb_8h_a1e8d1f402536e634471569b83f603197}{UE\_ADDR\_ANY}},}
\DoxyCodeLine{                .direction = \mbox{\hyperlink{usb_8h_a9a98e1bc9388db2ab5213e9d6496e851}{UE\_DIR\_OUT}},}
\DoxyCodeLine{                .flags = \{.pipe\_bof = 1,.proxy\_buffer = 1\},}
\DoxyCodeLine{                .callback = \&\mbox{\hyperlink{usbhid_8c_a3bd231b016091d2b0ce94225795ad79a}{usbhid\_intr\_out\_callback}},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{        [\mbox{\hyperlink{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9ea091ff0c2e7db82252a6450f3b49a95d7}{USBHID\_INTR\_IN\_DT}}] = \{}
\DoxyCodeLine{                .type = \mbox{\hyperlink{usb_8h_a01e28e87ad16f6dfffefc6ccab08baed}{UE\_INTERRUPT}},}
\DoxyCodeLine{                .endpoint = \mbox{\hyperlink{usb_8h_a1e8d1f402536e634471569b83f603197}{UE\_ADDR\_ANY}},}
\DoxyCodeLine{                .direction = \mbox{\hyperlink{usb_8h_a72bb077a860132c175c166f344c75893}{UE\_DIR\_IN}},}
\DoxyCodeLine{                .flags = \{.pipe\_bof = 1,.short\_xfer\_ok = 1,.proxy\_buffer = 1\},}
\DoxyCodeLine{                .callback = \&\mbox{\hyperlink{usbhid_8c_a48cd8136bac5eb66bc84c3858109d1f7}{usbhid\_intr\_in\_callback}},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{        [\mbox{\hyperlink{usbhid_8c_a05589fbab0657f08285ebdfe93f5ec9ea382474c066d475cedcf426c9861e50e2}{USBHID\_CTRL\_DT}}] = \{}
\DoxyCodeLine{                .type = \mbox{\hyperlink{usb_8h_ace49b7adb24ebcb0a0b17110c26aa63a}{UE\_CONTROL}},}
\DoxyCodeLine{                .endpoint = 0x00,       }
\DoxyCodeLine{                .direction = \mbox{\hyperlink{usb_8h_a0b305068483ac39f5d34f848bcb95c11}{UE\_DIR\_ANY}},}
\DoxyCodeLine{                .flags = \{.proxy\_buffer = 1\},}
\DoxyCodeLine{                .callback = \&\mbox{\hyperlink{usbhid_8c_a714375d21100154ce0f8cf2326bebeb5}{usbhid\_ctrl\_callback}},}
\DoxyCodeLine{                .timeout = 1000,        }
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usbhid_8c_source_l00291}{291}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



Referenced by \mbox{\hyperlink{usbhid_8c_source_l00727}{usbhid\+\_\+fill\+\_\+device\+\_\+info()}}, and \mbox{\hyperlink{usbhid_8c_source_l00336}{usbhid\+\_\+intr\+\_\+setup()}}.

\mbox{\Hypertarget{usbhid_8c_a714375d21100154ce0f8cf2326bebeb5}\label{usbhid_8c_a714375d21100154ce0f8cf2326bebeb5}} 
\index{usbhid.c@{usbhid.c}!usbhid\_ctrl\_callback@{usbhid\_ctrl\_callback}}
\index{usbhid\_ctrl\_callback@{usbhid\_ctrl\_callback}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_ctrl\_callback}{usbhid\_ctrl\_callback}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbdi_8h_aad1085e1e87347ed71e554c4b0209239}{usb\+\_\+callback\+\_\+t}} usbhid\+\_\+ctrl\+\_\+callback\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00148}{148}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.

\mbox{\Hypertarget{usbhid_8c_a55f7d20c3209fe2f82dff1e69284df81}\label{usbhid_8c_a55f7d20c3209fe2f82dff1e69284df81}} 
\index{usbhid.c@{usbhid.c}!usbhid\_detach@{usbhid\_detach}}
\index{usbhid\_detach@{usbhid\_detach}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_detach}{usbhid\_detach}}
{\footnotesize\ttfamily device\+\_\+detach\+\_\+t usbhid\+\_\+detach\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00144}{144}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



Referenced by \mbox{\hyperlink{usbhid_8c_source_l00809}{usbhid\+\_\+attach()}}.

\mbox{\Hypertarget{usbhid_8c_aadee585cefcbe67dab4530ebc7366973}\label{usbhid_8c_aadee585cefcbe67dab4530ebc7366973}} 
\index{usbhid.c@{usbhid.c}!usbhid\_devclass@{usbhid\_devclass}}
\index{usbhid\_devclass@{usbhid\_devclass}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_devclass}{usbhid\_devclass}}
{\footnotesize\ttfamily devclass\+\_\+t usbhid\+\_\+devclass\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00863}{863}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.

\mbox{\Hypertarget{usbhid_8c_a071f350fa7542c467572468c86408a44}\label{usbhid_8c_a071f350fa7542c467572468c86408a44}} 
\index{usbhid.c@{usbhid.c}!usbhid\_devs@{usbhid\_devs}}
\index{usbhid\_devs@{usbhid\_devs}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_devs}{usbhid\_devs}}
{\footnotesize\ttfamily const \mbox{\hyperlink{usbdi_8h_acf836fd8d6349b66a31f45420728da8d}{STRUCT\+\_\+\+USB\+\_\+\+HOST\+\_\+\+ID}} usbhid\+\_\+devs\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        }
\DoxyCodeLine{        \{\mbox{\hyperlink{usbdi_8h_a74c0bae2d55b3014e0583ec8ea4d5dc0}{USB\_IFACE\_CLASS}}(\mbox{\hyperlink{usb_8h_a62544a681ab6641be1497118649e4c25}{UICLASS\_VENDOR}}),}
\DoxyCodeLine{         \mbox{\hyperlink{usbdi_8h_a15ff0bc986f953c98128bd03e394b571}{USB\_IFACE\_SUBCLASS}}(\mbox{\hyperlink{usb_8h_a321e8bab90e02e83e53d01bfc95edd53}{UISUBCLASS\_XBOX360\_CONTROLLER}}),}
\DoxyCodeLine{         \mbox{\hyperlink{usbdi_8h_a99fe00139ae050549bc725ebd3c0d5cc}{USB\_IFACE\_PROTOCOL}}(\mbox{\hyperlink{usb_8h_a636f41a2f074a854a3f42696e08a9dc0}{UIPROTO\_XBOX360\_GAMEPAD}}),}
\DoxyCodeLine{         \mbox{\hyperlink{usbdi_8h_afd3bc04918a50ee7b7aad1178fd01880}{USB\_DRIVER\_INFO}}(HQ\_IS\_XBOX360GP)\},}
\DoxyCodeLine{        }
\DoxyCodeLine{        \{\mbox{\hyperlink{usbdi_8h_a74c0bae2d55b3014e0583ec8ea4d5dc0}{USB\_IFACE\_CLASS}}(\mbox{\hyperlink{usb_8h_a77eca6d49a1f0f93fb31aad0ef2f33b4}{UICLASS\_HID}}),}
\DoxyCodeLine{         \mbox{\hyperlink{usbdi_8h_a15ff0bc986f953c98128bd03e394b571}{USB\_IFACE\_SUBCLASS}}(\mbox{\hyperlink{usb_8h_a52fa495c7147e166f647c179db74b0bd}{UISUBCLASS\_BOOT}}),}
\DoxyCodeLine{         \mbox{\hyperlink{usbdi_8h_a99fe00139ae050549bc725ebd3c0d5cc}{USB\_IFACE\_PROTOCOL}}(\mbox{\hyperlink{usb_8h_afb41e8c64624580d7d4e14c7122d5183}{UIPROTO\_BOOT\_KEYBOARD}}),}
\DoxyCodeLine{         \mbox{\hyperlink{usbdi_8h_afd3bc04918a50ee7b7aad1178fd01880}{USB\_DRIVER\_INFO}}(HQ\_HAS\_KBD\_BOOTPROTO)\},}
\DoxyCodeLine{        }
\DoxyCodeLine{        \{\mbox{\hyperlink{usbdi_8h_a74c0bae2d55b3014e0583ec8ea4d5dc0}{USB\_IFACE\_CLASS}}(\mbox{\hyperlink{usb_8h_a77eca6d49a1f0f93fb31aad0ef2f33b4}{UICLASS\_HID}}),}
\DoxyCodeLine{         \mbox{\hyperlink{usbdi_8h_a15ff0bc986f953c98128bd03e394b571}{USB\_IFACE\_SUBCLASS}}(\mbox{\hyperlink{usb_8h_a52fa495c7147e166f647c179db74b0bd}{UISUBCLASS\_BOOT}}),}
\DoxyCodeLine{         \mbox{\hyperlink{usbdi_8h_a99fe00139ae050549bc725ebd3c0d5cc}{USB\_IFACE\_PROTOCOL}}(\mbox{\hyperlink{usb_8h_accb9a682a6a90dd82a1d0f46b1420578}{UIPROTO\_MOUSE}}),}
\DoxyCodeLine{         \mbox{\hyperlink{usbdi_8h_afd3bc04918a50ee7b7aad1178fd01880}{USB\_DRIVER\_INFO}}(HQ\_HAS\_MS\_BOOTPROTO)\},}
\DoxyCodeLine{        }
\DoxyCodeLine{        \{\mbox{\hyperlink{usbdi_8h_a74c0bae2d55b3014e0583ec8ea4d5dc0}{USB\_IFACE\_CLASS}}(\mbox{\hyperlink{usb_8h_a77eca6d49a1f0f93fb31aad0ef2f33b4}{UICLASS\_HID}}), \mbox{\hyperlink{usbdi_8h_afd3bc04918a50ee7b7aad1178fd01880}{USB\_DRIVER\_INFO}}(HQ\_NONE)\},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usbhid_8c_source_l00754}{754}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



Referenced by \mbox{\hyperlink{usbhid_8c_source_l00775}{usbhid\+\_\+probe()}}.

\mbox{\Hypertarget{usbhid_8c_a14dbd499fde4652030690c9146b8b15c}\label{usbhid_8c_a14dbd499fde4652030690c9146b8b15c}} 
\index{usbhid.c@{usbhid.c}!usbhid\_driver@{usbhid\_driver}}
\index{usbhid\_driver@{usbhid\_driver}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_driver}{usbhid\_driver}}
{\footnotesize\ttfamily driver\+\_\+t usbhid\+\_\+driver\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .name = \textcolor{stringliteral}{"{}usbhid"{}},}
\DoxyCodeLine{        .methods = \mbox{\hyperlink{usbhid_8c_a97394cb437bdc49eb9512dda33bb9f31}{usbhid\_methods}},}
\DoxyCodeLine{        .size = \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structusbhid__softc}{usbhid\_softc}}),}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usbhid_8c_source_l00889}{889}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.

\mbox{\Hypertarget{usbhid_8c_a98c65d11b411fd971605f9e448d67d0b}\label{usbhid_8c_a98c65d11b411fd971605f9e448d67d0b}} 
\index{usbhid.c@{usbhid.c}!usbhid\_enable@{usbhid\_enable}}
\index{usbhid\_enable@{usbhid\_enable}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_enable}{usbhid\_enable}}
{\footnotesize\ttfamily int usbhid\+\_\+enable = 0\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00082}{82}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



Referenced by \mbox{\hyperlink{usbhid_8c_source_l00775}{usbhid\+\_\+probe()}}.

\mbox{\Hypertarget{usbhid_8c_a9353d02582e3a820b59217da776de285}\label{usbhid_8c_a9353d02582e3a820b59217da776de285}} 
\index{usbhid.c@{usbhid.c}!usbhid\_intr\_handler\_cb@{usbhid\_intr\_handler\_cb}}
\index{usbhid\_intr\_handler\_cb@{usbhid\_intr\_handler\_cb}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_intr\_handler\_cb}{usbhid\_intr\_handler\_cb}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbhid_8c_a88a72b688810c0231e514ee02c9aa33b}{usbhid\+\_\+callback\+\_\+t}} usbhid\+\_\+intr\+\_\+handler\+\_\+cb\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00150}{150}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



Referenced by \mbox{\hyperlink{usbhid_8c_source_l00422}{usbhid\+\_\+intr\+\_\+start()}}.

\mbox{\Hypertarget{usbhid_8c_a48cd8136bac5eb66bc84c3858109d1f7}\label{usbhid_8c_a48cd8136bac5eb66bc84c3858109d1f7}} 
\index{usbhid.c@{usbhid.c}!usbhid\_intr\_in\_callback@{usbhid\_intr\_in\_callback}}
\index{usbhid\_intr\_in\_callback@{usbhid\_intr\_in\_callback}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_intr\_in\_callback}{usbhid\_intr\_in\_callback}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbdi_8h_aad1085e1e87347ed71e554c4b0209239}{usb\+\_\+callback\+\_\+t}} usbhid\+\_\+intr\+\_\+in\+\_\+callback\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00147}{147}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.

\mbox{\Hypertarget{usbhid_8c_a3bd231b016091d2b0ce94225795ad79a}\label{usbhid_8c_a3bd231b016091d2b0ce94225795ad79a}} 
\index{usbhid.c@{usbhid.c}!usbhid\_intr\_out\_callback@{usbhid\_intr\_out\_callback}}
\index{usbhid\_intr\_out\_callback@{usbhid\_intr\_out\_callback}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_intr\_out\_callback}{usbhid\_intr\_out\_callback}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbdi_8h_aad1085e1e87347ed71e554c4b0209239}{usb\+\_\+callback\+\_\+t}} usbhid\+\_\+intr\+\_\+out\+\_\+callback\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00146}{146}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.

\mbox{\Hypertarget{usbhid_8c_a97394cb437bdc49eb9512dda33bb9f31}\label{usbhid_8c_a97394cb437bdc49eb9512dda33bb9f31}} 
\index{usbhid.c@{usbhid.c}!usbhid\_methods@{usbhid\_methods}}
\index{usbhid\_methods@{usbhid\_methods}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_methods}{usbhid\_methods}}
{\footnotesize\ttfamily device\+\_\+method\+\_\+t usbhid\+\_\+methods\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        DEVMETHOD(device\_probe,         \mbox{\hyperlink{usbhid_8c_abf5305e5e2bc4e02a1e5c8e3b710fdd1}{usbhid\_probe}}),}
\DoxyCodeLine{        DEVMETHOD(device\_attach,        \mbox{\hyperlink{usbhid_8c_a900f97bcd59540ff3d7932da8340337a}{usbhid\_attach}}),}
\DoxyCodeLine{        DEVMETHOD(device\_detach,        \mbox{\hyperlink{usbhid_8c_a55f7d20c3209fe2f82dff1e69284df81}{usbhid\_detach}}),}
\DoxyCodeLine{}
\DoxyCodeLine{        DEVMETHOD(hid\_intr\_setup,       \mbox{\hyperlink{usbhid_8c_a3d5572ecd6fb3c996605dce2ed3a394e}{usbhid\_intr\_setup}}),}
\DoxyCodeLine{        DEVMETHOD(hid\_intr\_unsetup,     \mbox{\hyperlink{usbhid_8c_acd7082e0d3165353e550aea14fae527a}{usbhid\_intr\_unsetup}}),}
\DoxyCodeLine{        DEVMETHOD(hid\_intr\_start,       \mbox{\hyperlink{usbhid_8c_ac5e69d2b85d8fbb73ce88f2c2c6b452b}{usbhid\_intr\_start}}),}
\DoxyCodeLine{        DEVMETHOD(hid\_intr\_stop,        \mbox{\hyperlink{usbhid_8c_af91a00eee7b258f3d4c1034d9b712a3c}{usbhid\_intr\_stop}}),}
\DoxyCodeLine{        DEVMETHOD(hid\_intr\_poll,        \mbox{\hyperlink{usbhid_8c_a7d8f93bad64493065ce512486ee2a179}{usbhid\_intr\_poll}}),}
\DoxyCodeLine{}
\DoxyCodeLine{        }
\DoxyCodeLine{        DEVMETHOD(hid\_get\_rdesc,        \mbox{\hyperlink{usbhid_8c_ac3a984fb7f23662357a5fd983d48d99d}{usbhid\_get\_rdesc}}),}
\DoxyCodeLine{        DEVMETHOD(hid\_read,             \mbox{\hyperlink{usbhid_8c_a14c70925219daadd88f008204907a48d}{usbhid\_read}}),}
\DoxyCodeLine{        DEVMETHOD(hid\_write,            \mbox{\hyperlink{usbhid_8c_a9554130e65c6ee21e27667522357aae3}{usbhid\_write}}),}
\DoxyCodeLine{        DEVMETHOD(hid\_get\_report,       \mbox{\hyperlink{usbhid_8c_acb1999502b083cf12bf083efd3a61ae8}{usbhid\_get\_report}}),}
\DoxyCodeLine{        DEVMETHOD(hid\_set\_report,       \mbox{\hyperlink{usbhid_8c_ae5b395375876c407a922369ee382eddd}{usbhid\_set\_report}}),}
\DoxyCodeLine{        DEVMETHOD(hid\_set\_idle,         \mbox{\hyperlink{usbhid_8c_abc7086b7f071b21180fc058983213bdc}{usbhid\_set\_idle}}),}
\DoxyCodeLine{        DEVMETHOD(hid\_set\_protocol,     \mbox{\hyperlink{usbhid_8c_a70bdb90b15384fc0adc39e857a0500a9}{usbhid\_set\_protocol}}),}
\DoxyCodeLine{        DEVMETHOD(hid\_ioctl,            \mbox{\hyperlink{usbhid_8c_ab5c59db84e54fe799617d26cff13f8c7}{usbhid\_ioctl}}),}
\DoxyCodeLine{}
\DoxyCodeLine{        DEVMETHOD\_END}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usbhid_8c_source_l00865}{865}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.

\mbox{\Hypertarget{usbhid_8c_abf5305e5e2bc4e02a1e5c8e3b710fdd1}\label{usbhid_8c_abf5305e5e2bc4e02a1e5c8e3b710fdd1}} 
\index{usbhid.c@{usbhid.c}!usbhid\_probe@{usbhid\_probe}}
\index{usbhid\_probe@{usbhid\_probe}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_probe}{usbhid\_probe}}
{\footnotesize\ttfamily device\+\_\+probe\+\_\+t usbhid\+\_\+probe\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00142}{142}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.

\mbox{\Hypertarget{usbhid_8c_a3d923d310d2da1df22a67f2779b64289}\label{usbhid_8c_a3d923d310d2da1df22a67f2779b64289}} 
\index{usbhid.c@{usbhid.c}!usbhid\_sync\_wakeup\_cb@{usbhid\_sync\_wakeup\_cb}}
\index{usbhid\_sync\_wakeup\_cb@{usbhid\_sync\_wakeup\_cb}!usbhid.c@{usbhid.c}}
\doxysubsubsection{\texorpdfstring{usbhid\_sync\_wakeup\_cb}{usbhid\_sync\_wakeup\_cb}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbhid_8c_a88a72b688810c0231e514ee02c9aa33b}{usbhid\+\_\+callback\+\_\+t}} usbhid\+\_\+sync\+\_\+wakeup\+\_\+cb\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usbhid_8c_source_l00151}{151}} of file \mbox{\hyperlink{usbhid_8c_source}{usbhid.\+c}}.



Referenced by \mbox{\hyperlink{usbhid_8c_source_l00479}{usbhid\+\_\+sync\+\_\+xfer()}}.

