\hypertarget{usbdi__util_8h}{}\doxysection{dev/usb/usbdi\+\_\+util.h File Reference}
\label{usbdi__util_8h}\index{dev/usb/usbdi\_util.h@{dev/usb/usbdi\_util.h}}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structusb__idesc__parse__state}{usb\+\_\+idesc\+\_\+parse\+\_\+state}}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usbdi__util_8h_a73f73fb03dfe97412ded971a42984bd8}{usbd\+\_\+do\+\_\+request\+\_\+proc}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$udev, struct \mbox{\hyperlink{structusb__process}{usb\+\_\+process}} $\ast$pproc, struct \mbox{\hyperlink{structusb__device__request}{usb\+\_\+device\+\_\+request}} $\ast$\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, void $\ast$\textbf{ data}, uint16\+\_\+t flags, uint16\+\_\+t $\ast$actlen, \mbox{\hyperlink{usb__freebsd_8h_ad024d1bfb97f4cb78c73989e05d13176}{usb\+\_\+timeout\+\_\+t}} timeout)
\item 
struct \mbox{\hyperlink{structusb__descriptor}{usb\+\_\+descriptor}} $\ast$ \mbox{\hyperlink{usbdi__util_8h_a24baefbe194d2fedd666ddff033c8d58}{usb\+\_\+desc\+\_\+foreach}} (struct \mbox{\hyperlink{structusb__config__descriptor}{usb\+\_\+config\+\_\+descriptor}} $\ast$cd, struct \mbox{\hyperlink{structusb__descriptor}{usb\+\_\+descriptor}} $\ast$\mbox{\hyperlink{usb__device_8h_ab3a00cd7fdc532cb4cd4d59733b440bf}{desc}})
\item 
struct \mbox{\hyperlink{structusb__interface__descriptor}{usb\+\_\+interface\+\_\+descriptor}} $\ast$ \mbox{\hyperlink{usbdi__util_8h_ad7ace023a2e707b760d9d902ff32455f}{usb\+\_\+idesc\+\_\+foreach}} (struct \mbox{\hyperlink{structusb__config__descriptor}{usb\+\_\+config\+\_\+descriptor}} $\ast$cd, struct \mbox{\hyperlink{structusb__idesc__parse__state}{usb\+\_\+idesc\+\_\+parse\+\_\+state}} $\ast$ps)
\item 
struct \mbox{\hyperlink{structusb__endpoint__descriptor}{usb\+\_\+endpoint\+\_\+descriptor}} $\ast$ \mbox{\hyperlink{usbdi__util_8h_a5bd3eb5de64976eba68bbfbe668ef6c9}{usb\+\_\+edesc\+\_\+foreach}} (struct \mbox{\hyperlink{structusb__config__descriptor}{usb\+\_\+config\+\_\+descriptor}} $\ast$cd, struct \mbox{\hyperlink{structusb__endpoint__descriptor}{usb\+\_\+endpoint\+\_\+descriptor}} $\ast$ped)
\item 
struct \mbox{\hyperlink{structusb__endpoint__ss__comp__descriptor}{usb\+\_\+endpoint\+\_\+ss\+\_\+comp\+\_\+descriptor}} $\ast$ \mbox{\hyperlink{usbdi__util_8h_a3fa9b8e9865c72ee4dfbaffd6736382c}{usb\+\_\+ed\+\_\+comp\+\_\+foreach}} (struct \mbox{\hyperlink{structusb__config__descriptor}{usb\+\_\+config\+\_\+descriptor}} $\ast$cd, struct \mbox{\hyperlink{structusb__endpoint__ss__comp__descriptor}{usb\+\_\+endpoint\+\_\+ss\+\_\+comp\+\_\+descriptor}} $\ast$ped)
\item 
uint8\+\_\+t \mbox{\hyperlink{usbdi__util_8h_a9eda9ac00cb77a482bb8dbbe3a341edd}{usbd\+\_\+get\+\_\+no\+\_\+descriptors}} (struct \mbox{\hyperlink{structusb__config__descriptor}{usb\+\_\+config\+\_\+descriptor}} $\ast$cd, uint8\+\_\+t \textbf{ type})
\item 
uint8\+\_\+t \mbox{\hyperlink{usbdi__util_8h_adc2bb0ce8388580b246c3d82c986cd84}{usbd\+\_\+get\+\_\+no\+\_\+alts}} (struct \mbox{\hyperlink{structusb__config__descriptor}{usb\+\_\+config\+\_\+descriptor}} $\ast$cd, struct \mbox{\hyperlink{structusb__interface__descriptor}{usb\+\_\+interface\+\_\+descriptor}} $\ast$\mbox{\hyperlink{if__usievar_8h_a1e6927fa1486224044e568f9c370519b}{id}})
\item 
\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usbdi__util_8h_ac0b19f45e28e829a7bb513957171bbe7}{usbd\+\_\+req\+\_\+get\+\_\+report}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$udev, struct mtx $\ast$mtx, void $\ast$\textbf{ data}, uint16\+\_\+t \mbox{\hyperlink{if__usievar_8h_a8aed22e2c7b283705ec82e0120515618}{len}}, uint8\+\_\+t iface\+\_\+index, uint8\+\_\+t \textbf{ type}, uint8\+\_\+t \mbox{\hyperlink{if__usievar_8h_a1e6927fa1486224044e568f9c370519b}{id}})
\item 
\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usbdi__util_8h_a58d170d91203f48ea26476542af74068}{usbd\+\_\+req\+\_\+get\+\_\+report\+\_\+descriptor}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$udev, struct mtx $\ast$mtx, void $\ast$d, uint16\+\_\+t \mbox{\hyperlink{if__axge_8c_ae5dc6ffcd9b7605c7787791e40cc6bb0}{size}}, uint8\+\_\+t iface\+\_\+index)
\item 
\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usbdi__util_8h_a8b4cfbe332afa5e4284428f7819c3e19}{usbd\+\_\+req\+\_\+get\+\_\+string\+\_\+any}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$udev, struct mtx $\ast$mtx, char $\ast$buf, uint16\+\_\+t \mbox{\hyperlink{if__usievar_8h_a8aed22e2c7b283705ec82e0120515618}{len}}, uint8\+\_\+t string\+\_\+index)
\item 
\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usbdi__util_8h_a6b26fc399b10141dc40b8a9f39f75688}{usbd\+\_\+req\+\_\+get\+\_\+string\+\_\+desc}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$udev, struct mtx $\ast$mtx, void $\ast$sdesc, uint16\+\_\+t max\+\_\+len, uint16\+\_\+t lang\+\_\+id, uint8\+\_\+t string\+\_\+index)
\item 
\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usbdi__util_8h_a41406cc7a17f599c5c3faea9c6b703ff}{usbd\+\_\+req\+\_\+set\+\_\+config}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$udev, struct mtx $\ast$mtx, uint8\+\_\+t conf)
\item 
\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usbdi__util_8h_a563d9bd2a394a163a87ea99239e82dce}{usbd\+\_\+req\+\_\+set\+\_\+alt\+\_\+interface\+\_\+no}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$udev, struct mtx $\ast$mtx, uint8\+\_\+t iface\+\_\+index, uint8\+\_\+t alt\+\_\+no)
\item 
\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usbdi__util_8h_accd609da95f3845ea881ee7bbc3ef075}{usbd\+\_\+req\+\_\+set\+\_\+idle}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$udev, struct mtx $\ast$mtx, uint8\+\_\+t iface\+\_\+index, uint8\+\_\+t duration, uint8\+\_\+t \mbox{\hyperlink{if__usievar_8h_a1e6927fa1486224044e568f9c370519b}{id}})
\item 
\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usbdi__util_8h_ad7248e7e5a97e3d838f18864bebfdd94}{usbd\+\_\+req\+\_\+set\+\_\+protocol}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$udev, struct mtx $\ast$mtx, uint8\+\_\+t iface\+\_\+index, uint16\+\_\+t \textbf{ report})
\item 
\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usbdi__util_8h_aa80da0d45171e70f02698c8adaf8e96e}{usbd\+\_\+req\+\_\+set\+\_\+report}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$udev, struct mtx $\ast$mtx, void $\ast$\textbf{ data}, uint16\+\_\+t \mbox{\hyperlink{if__usievar_8h_a8aed22e2c7b283705ec82e0120515618}{len}}, uint8\+\_\+t iface\+\_\+index, uint8\+\_\+t \textbf{ type}, uint8\+\_\+t \mbox{\hyperlink{if__usievar_8h_a1e6927fa1486224044e568f9c370519b}{id}})
\item 
const char $\ast$ \mbox{\hyperlink{usbdi__util_8h_a2894988dee4deeb768a3be44ab7a11f4}{usb\+\_\+get\+\_\+manufacturer}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$)
\item 
const char $\ast$ \mbox{\hyperlink{usbdi__util_8h_aac85b954f6f6ddb8354e0594fce37c46}{usb\+\_\+get\+\_\+product}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$)
\item 
const char $\ast$ \mbox{\hyperlink{usbdi__util_8h_a095f76323ddc79f1e7a9159185e9360a}{usb\+\_\+get\+\_\+serial}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$)
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{usbdi__util_8h_a24baefbe194d2fedd666ddff033c8d58}\label{usbdi__util_8h_a24baefbe194d2fedd666ddff033c8d58}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usb\_desc\_foreach@{usb\_desc\_foreach}}
\index{usb\_desc\_foreach@{usb\_desc\_foreach}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usb\_desc\_foreach()}{usb\_desc\_foreach()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structusb__descriptor}{usb\+\_\+descriptor}} $\ast$ usb\+\_\+desc\+\_\+foreach (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__config__descriptor}{usb\+\_\+config\+\_\+descriptor}} $\ast$}]{cd,  }\item[{struct \mbox{\hyperlink{structusb__descriptor}{usb\+\_\+descriptor}} $\ast$}]{desc }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__parse_8c_source_l00074}{74}} of file \mbox{\hyperlink{usb__parse_8c_source}{usb\+\_\+parse.\+c}}.



References \mbox{\hyperlink{usb__device_8h_source_l00000}{desc}}, \textbf{ start}, \mbox{\hyperlink{usb__endian_8h_source_l00053}{UGETW}}, and \mbox{\hyperlink{usb_8h_source_l00388}{usb\+\_\+config\+\_\+descriptor\+::w\+Total\+Length}}.



Referenced by \mbox{\hyperlink{usb__hid_8c_source_l00082}{hid\+\_\+get\+\_\+descriptor\+\_\+from\+\_\+usb()}}, \mbox{\hyperlink{ufoma_8c_source_l00518}{ufoma\+\_\+get\+\_\+intconf()}}, \mbox{\hyperlink{uhid__snes_8c_source_l00545}{uhid\+\_\+snes\+\_\+attach()}}, \mbox{\hyperlink{ulpt_8c_source_l00523}{ulpt\+\_\+attach()}}, \mbox{\hyperlink{usb__parse_8c_source_l00234}{usb\+\_\+ed\+\_\+comp\+\_\+foreach()}}, \mbox{\hyperlink{usb__parse_8c_source_l00199}{usb\+\_\+edesc\+\_\+foreach()}}, \mbox{\hyperlink{usb__template_8c_source_l00755}{usb\+\_\+hw\+\_\+ep\+\_\+get\+\_\+needs()}}, \mbox{\hyperlink{usb__parse_8c_source_l00126}{usb\+\_\+idesc\+\_\+foreach()}}, \mbox{\hyperlink{usb__device_8c_source_l02395}{usbd\+\_\+find\+\_\+descriptor()}}, \mbox{\hyperlink{usb__parse_8c_source_l00288}{usbd\+\_\+get\+\_\+no\+\_\+alts()}}, and \mbox{\hyperlink{usb__parse_8c_source_l00264}{usbd\+\_\+get\+\_\+no\+\_\+descriptors()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a24baefbe194d2fedd666ddff033c8d58_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_a3fa9b8e9865c72ee4dfbaffd6736382c}\label{usbdi__util_8h_a3fa9b8e9865c72ee4dfbaffd6736382c}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usb\_ed\_comp\_foreach@{usb\_ed\_comp\_foreach}}
\index{usb\_ed\_comp\_foreach@{usb\_ed\_comp\_foreach}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usb\_ed\_comp\_foreach()}{usb\_ed\_comp\_foreach()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structusb__endpoint__ss__comp__descriptor}{usb\+\_\+endpoint\+\_\+ss\+\_\+comp\+\_\+descriptor}} $\ast$ usb\+\_\+ed\+\_\+comp\+\_\+foreach (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__config__descriptor}{usb\+\_\+config\+\_\+descriptor}} $\ast$}]{cd,  }\item[{struct \mbox{\hyperlink{structusb__endpoint__ss__comp__descriptor}{usb\+\_\+endpoint\+\_\+ss\+\_\+comp\+\_\+descriptor}} $\ast$}]{ped }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__parse_8c_source_l00234}{234}} of file \mbox{\hyperlink{usb__parse_8c_source}{usb\+\_\+parse.\+c}}.



References \mbox{\hyperlink{usb_8h_source_l00527}{usb\+\_\+endpoint\+\_\+descriptor\+::b\+Descriptor\+Type}}, \mbox{\hyperlink{usb_8h_source_l00526}{usb\+\_\+endpoint\+\_\+descriptor\+::b\+Length}}, \mbox{\hyperlink{usb__device_8h_source_l00000}{desc}}, \mbox{\hyperlink{usb_8h_source_l00200}{UDESC\+\_\+\+ENDPOINT}}, \mbox{\hyperlink{usb_8h_source_l00216}{UDESC\+\_\+\+ENDPOINT\+\_\+\+SS\+\_\+\+COMP}}, \mbox{\hyperlink{usb_8h_source_l00199}{UDESC\+\_\+\+INTERFACE}}, and \mbox{\hyperlink{usb__parse_8c_source_l00074}{usb\+\_\+desc\+\_\+foreach()}}.



Referenced by \mbox{\hyperlink{usb__device_8c_source_l00816}{usb\+\_\+config\+\_\+parse()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=345pt]{d9/df9/usbdi__util_8h_a3fa9b8e9865c72ee4dfbaffd6736382c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a3fa9b8e9865c72ee4dfbaffd6736382c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_a5bd3eb5de64976eba68bbfbe668ef6c9}\label{usbdi__util_8h_a5bd3eb5de64976eba68bbfbe668ef6c9}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usb\_edesc\_foreach@{usb\_edesc\_foreach}}
\index{usb\_edesc\_foreach@{usb\_edesc\_foreach}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usb\_edesc\_foreach()}{usb\_edesc\_foreach()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structusb__endpoint__descriptor}{usb\+\_\+endpoint\+\_\+descriptor}} $\ast$ usb\+\_\+edesc\+\_\+foreach (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__config__descriptor}{usb\+\_\+config\+\_\+descriptor}} $\ast$}]{cd,  }\item[{struct \mbox{\hyperlink{structusb__endpoint__descriptor}{usb\+\_\+endpoint\+\_\+descriptor}} $\ast$}]{ped }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__parse_8c_source_l00199}{199}} of file \mbox{\hyperlink{usb__parse_8c_source}{usb\+\_\+parse.\+c}}.



References \mbox{\hyperlink{usb_8h_source_l00527}{usb\+\_\+endpoint\+\_\+descriptor\+::b\+Descriptor\+Type}}, \mbox{\hyperlink{usb_8h_source_l00526}{usb\+\_\+endpoint\+\_\+descriptor\+::b\+Length}}, \mbox{\hyperlink{usb__device_8h_source_l00000}{desc}}, \mbox{\hyperlink{usb_8h_source_l00200}{UDESC\+\_\+\+ENDPOINT}}, \mbox{\hyperlink{usb_8h_source_l00199}{UDESC\+\_\+\+INTERFACE}}, and \mbox{\hyperlink{usb__parse_8c_source_l00074}{usb\+\_\+desc\+\_\+foreach()}}.



Referenced by \mbox{\hyperlink{usb__device_8c_source_l00816}{usb\+\_\+config\+\_\+parse()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=330pt]{d9/df9/usbdi__util_8h_a5bd3eb5de64976eba68bbfbe668ef6c9_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a5bd3eb5de64976eba68bbfbe668ef6c9_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_a2894988dee4deeb768a3be44ab7a11f4}\label{usbdi__util_8h_a2894988dee4deeb768a3be44ab7a11f4}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usb\_get\_manufacturer@{usb\_get\_manufacturer}}
\index{usb\_get\_manufacturer@{usb\_get\_manufacturer}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usb\_get\_manufacturer()}{usb\_get\_manufacturer()}}
{\footnotesize\ttfamily const char $\ast$ usb\+\_\+get\+\_\+manufacturer (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__device_8c_source_l00281}{281}} of file \mbox{\hyperlink{usb__device_8c_source}{usb\+\_\+device.\+c}}.



References \mbox{\hyperlink{usb__device_8h_source_l00273}{usb\+\_\+device\+::manufacturer}}.



Referenced by \mbox{\hyperlink{u3g_8c_source_l00770}{u3g\+\_\+test\+\_\+autoinst()}}, \mbox{\hyperlink{ubser_8c_source_l00216}{ubser\+\_\+probe()}}, \mbox{\hyperlink{uhso_8c_source_l00546}{uhso\+\_\+attach()}}, \mbox{\hyperlink{usb__device_8c_source_l01737}{usb\+\_\+alloc\+\_\+device()}}, \mbox{\hyperlink{usb__device_8c_source_l02440}{usb\+\_\+devinfo()}}, \mbox{\hyperlink{usb__device_8c_source_l02271}{usb\+\_\+free\+\_\+device()}}, \mbox{\hyperlink{usbhid_8c_source_l00727}{usbhid\+\_\+fill\+\_\+device\+\_\+info()}}, and \mbox{\hyperlink{if__usie_8c_source_l00235}{usie\+\_\+autoinst()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{d9/df9/usbdi__util_8h_a2894988dee4deeb768a3be44ab7a11f4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_aac85b954f6f6ddb8354e0594fce37c46}\label{usbdi__util_8h_aac85b954f6f6ddb8354e0594fce37c46}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usb\_get\_product@{usb\_get\_product}}
\index{usb\_get\_product@{usb\_get\_product}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usb\_get\_product()}{usb\_get\_product()}}
{\footnotesize\ttfamily const char $\ast$ usb\+\_\+get\+\_\+product (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__device_8c_source_l00287}{287}} of file \mbox{\hyperlink{usb__device_8c_source}{usb\+\_\+device.\+c}}.



References \mbox{\hyperlink{usb__device_8h_source_l00274}{usb\+\_\+device\+::product}}.



Referenced by \mbox{\hyperlink{uftdi_8c_source_l00949}{is\+\_\+jtag\+\_\+interface()}}, \mbox{\hyperlink{u3g_8c_source_l00770}{u3g\+\_\+test\+\_\+autoinst()}}, \mbox{\hyperlink{uftdi_8c_source_l01056}{uftdi\+\_\+probe()}}, \mbox{\hyperlink{uhso_8c_source_l00546}{uhso\+\_\+attach()}}, \mbox{\hyperlink{usb__device_8c_source_l01737}{usb\+\_\+alloc\+\_\+device()}}, \mbox{\hyperlink{usb__device_8c_source_l02440}{usb\+\_\+devinfo()}}, \mbox{\hyperlink{usb__device_8c_source_l02271}{usb\+\_\+free\+\_\+device()}}, \mbox{\hyperlink{usbhid_8c_source_l00727}{usbhid\+\_\+fill\+\_\+device\+\_\+info()}}, and \mbox{\hyperlink{if__usie_8c_source_l00235}{usie\+\_\+autoinst()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{d9/df9/usbdi__util_8h_aac85b954f6f6ddb8354e0594fce37c46_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_a095f76323ddc79f1e7a9159185e9360a}\label{usbdi__util_8h_a095f76323ddc79f1e7a9159185e9360a}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usb\_get\_serial@{usb\_get\_serial}}
\index{usb\_get\_serial@{usb\_get\_serial}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usb\_get\_serial()}{usb\_get\_serial()}}
{\footnotesize\ttfamily const char $\ast$ usb\+\_\+get\+\_\+serial (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__device_8c_source_l00293}{293}} of file \mbox{\hyperlink{usb__device_8c_source}{usb\+\_\+device.\+c}}.



References \mbox{\hyperlink{usb__device_8h_source_l00272}{usb\+\_\+device\+::serial}}.



Referenced by \mbox{\hyperlink{udl_8c_source_l00778}{udl\+\_\+select\+\_\+chip()}}, \mbox{\hyperlink{uep_8c_source_l00353}{uep\+\_\+attach()}}, \mbox{\hyperlink{usb__hub_8c_source_l01709}{uhub\+\_\+child\+\_\+pnpinfo()}}, \mbox{\hyperlink{ukbd_8c_source_l01073}{ukbd\+\_\+attach()}}, \mbox{\hyperlink{umass_8c_source_l02158}{umass\+\_\+cam\+\_\+action()}}, \mbox{\hyperlink{umass_8c_source_l02458}{umass\+\_\+cam\+\_\+cb()}}, \mbox{\hyperlink{ums_8c_source_l00570}{ums\+\_\+attach()}}, \mbox{\hyperlink{usbhid_8c_source_l00727}{usbhid\+\_\+fill\+\_\+device\+\_\+info()}}, \mbox{\hyperlink{wmt_8c_source_l00336}{wmt\+\_\+attach()}}, and \mbox{\hyperlink{wsp_8c_source_l00748}{wsp\+\_\+attach()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a095f76323ddc79f1e7a9159185e9360a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_ad7ace023a2e707b760d9d902ff32455f}\label{usbdi__util_8h_ad7ace023a2e707b760d9d902ff32455f}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usb\_idesc\_foreach@{usb\_idesc\_foreach}}
\index{usb\_idesc\_foreach@{usb\_idesc\_foreach}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usb\_idesc\_foreach()}{usb\_idesc\_foreach()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structusb__interface__descriptor}{usb\+\_\+interface\+\_\+descriptor}} $\ast$ usb\+\_\+idesc\+\_\+foreach (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__config__descriptor}{usb\+\_\+config\+\_\+descriptor}} $\ast$}]{cd,  }\item[{struct \mbox{\hyperlink{structusb__idesc__parse__state}{usb\+\_\+idesc\+\_\+parse\+\_\+state}} $\ast$}]{ps }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__parse_8c_source_l00126}{126}} of file \mbox{\hyperlink{usb__parse_8c_source}{usb\+\_\+parse.\+c}}.



References \mbox{\hyperlink{usbdi__util_8h_source_l00036}{usb\+\_\+idesc\+\_\+parse\+\_\+state\+::desc}}, \mbox{\hyperlink{umass_8c_source_l00179}{DPRINTF}}, \mbox{\hyperlink{if__usievar_8h_source_l00004}{id}}, \mbox{\hyperlink{usbdi__util_8h_source_l00037}{usb\+\_\+idesc\+\_\+parse\+\_\+state\+::iface\+\_\+index}}, \mbox{\hyperlink{usbdi__util_8h_source_l00039}{usb\+\_\+idesc\+\_\+parse\+\_\+state\+::iface\+\_\+index\+\_\+alt}}, \mbox{\hyperlink{usbdi__util_8h_source_l00038}{usb\+\_\+idesc\+\_\+parse\+\_\+state\+::iface\+\_\+no\+\_\+last}}, \mbox{\hyperlink{usb_8h_source_l00199}{UDESC\+\_\+\+INTERFACE}}, \mbox{\hyperlink{usb__parse_8c_source_l00074}{usb\+\_\+desc\+\_\+foreach()}}, and \mbox{\hyperlink{usb__freebsd_8h_source_l00081}{USB\+\_\+\+IFACE\+\_\+\+MAX}}.



Referenced by \mbox{\hyperlink{usb__device_8c_source_l00816}{usb\+\_\+config\+\_\+parse()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=327pt]{d9/df9/usbdi__util_8h_ad7ace023a2e707b760d9d902ff32455f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_ad7ace023a2e707b760d9d902ff32455f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_a73f73fb03dfe97412ded971a42984bd8}\label{usbdi__util_8h_a73f73fb03dfe97412ded971a42984bd8}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usbd\_do\_request\_proc@{usbd\_do\_request\_proc}}
\index{usbd\_do\_request\_proc@{usbd\_do\_request\_proc}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usbd\_do\_request\_proc()}{usbd\_do\_request\_proc()}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usbd\+\_\+do\+\_\+request\+\_\+proc (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev,  }\item[{struct \mbox{\hyperlink{structusb__process}{usb\+\_\+process}} $\ast$}]{pproc,  }\item[{struct \mbox{\hyperlink{structusb__device__request}{usb\+\_\+device\+\_\+request}} $\ast$}]{req,  }\item[{void $\ast$}]{data,  }\item[{uint16\+\_\+t}]{flags,  }\item[{uint16\+\_\+t $\ast$}]{actlen,  }\item[{\mbox{\hyperlink{usb__freebsd_8h_ad024d1bfb97f4cb78c73989e05d13176}{usb\+\_\+timeout\+\_\+t}}}]{timeout }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__request_8c_source_l00742}{742}} of file \mbox{\hyperlink{usb__request_8c_source}{usb\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb__core_8h_source_l00157}{usb\+\_\+xfer\+::actlen}}, \textbf{ data}, \mbox{\hyperlink{usb__core_8h_source_l00181}{usb\+\_\+xfer\+::flags}}, \mbox{\hyperlink{ehci_8h_source_l00041}{len}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usb__core_8h_source_l00158}{usb\+\_\+xfer\+::timeout}}, \mbox{\hyperlink{usb_8h_source_l00531}{UE\+\_\+\+DIR\+\_\+\+IN}}, \mbox{\hyperlink{usb__endian_8h_source_l00053}{UGETW}}, \mbox{\hyperlink{usb__process_8h_source_l00066}{usb\+\_\+process\+::up\+\_\+mtx}}, \mbox{\hyperlink{usbdi_8h_source_l00064}{USB\+\_\+\+ERR\+\_\+\+IOERROR}}, \mbox{\hyperlink{usb__process_8c_source_l00372}{usb\+\_\+proc\+\_\+is\+\_\+gone()}}, and \mbox{\hyperlink{usb__request_8c_source_l00405}{usbd\+\_\+do\+\_\+request\+\_\+flags()}}.



Referenced by \mbox{\hyperlink{umcs_8c_source_l00948}{umcs7840\+\_\+get\+\_\+reg\+\_\+sync()}}, \mbox{\hyperlink{umcs_8c_source_l00989}{umcs7840\+\_\+get\+\_\+\+UART\+\_\+reg\+\_\+sync()}}, \mbox{\hyperlink{umcs_8c_source_l00970}{umcs7840\+\_\+set\+\_\+reg\+\_\+sync()}}, and \mbox{\hyperlink{umcs_8c_source_l01015}{umcs7840\+\_\+set\+\_\+\+UART\+\_\+reg\+\_\+sync()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a73f73fb03dfe97412ded971a42984bd8_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a73f73fb03dfe97412ded971a42984bd8_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_adc2bb0ce8388580b246c3d82c986cd84}\label{usbdi__util_8h_adc2bb0ce8388580b246c3d82c986cd84}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usbd\_get\_no\_alts@{usbd\_get\_no\_alts}}
\index{usbd\_get\_no\_alts@{usbd\_get\_no\_alts}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usbd\_get\_no\_alts()}{usbd\_get\_no\_alts()}}
{\footnotesize\ttfamily uint8\+\_\+t usbd\+\_\+get\+\_\+no\+\_\+alts (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__config__descriptor}{usb\+\_\+config\+\_\+descriptor}} $\ast$}]{cd,  }\item[{struct \mbox{\hyperlink{structusb__interface__descriptor}{usb\+\_\+interface\+\_\+descriptor}} $\ast$}]{id }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__parse_8c_source_l00288}{288}} of file \mbox{\hyperlink{usb__parse_8c_source}{usb\+\_\+parse.\+c}}.



References \mbox{\hyperlink{usb_8h_source_l00527}{usb\+\_\+endpoint\+\_\+descriptor\+::b\+Descriptor\+Type}}, \mbox{\hyperlink{usb_8h_source_l00526}{usb\+\_\+endpoint\+\_\+descriptor\+::b\+Length}}, \mbox{\hyperlink{usb__device_8h_source_l00000}{desc}}, \mbox{\hyperlink{if__usievar_8h_source_l00004}{id}}, \mbox{\hyperlink{if__run_8c_source_l00612}{n}}, \mbox{\hyperlink{usb_8h_source_l00199}{UDESC\+\_\+\+INTERFACE}}, and \mbox{\hyperlink{usb__parse_8c_source_l00074}{usb\+\_\+desc\+\_\+foreach()}}.



Referenced by \mbox{\hyperlink{usb__handle__request_8c_source_l00192}{usb\+\_\+check\+\_\+alt\+\_\+setting()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=321pt]{d9/df9/usbdi__util_8h_adc2bb0ce8388580b246c3d82c986cd84_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_adc2bb0ce8388580b246c3d82c986cd84_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_a9eda9ac00cb77a482bb8dbbe3a341edd}\label{usbdi__util_8h_a9eda9ac00cb77a482bb8dbbe3a341edd}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usbd\_get\_no\_descriptors@{usbd\_get\_no\_descriptors}}
\index{usbd\_get\_no\_descriptors@{usbd\_get\_no\_descriptors}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usbd\_get\_no\_descriptors()}{usbd\_get\_no\_descriptors()}}
{\footnotesize\ttfamily uint8\+\_\+t usbd\+\_\+get\+\_\+no\+\_\+descriptors (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__config__descriptor}{usb\+\_\+config\+\_\+descriptor}} $\ast$}]{cd,  }\item[{uint8\+\_\+t}]{type }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__parse_8c_source_l00264}{264}} of file \mbox{\hyperlink{usb__parse_8c_source}{usb\+\_\+parse.\+c}}.



References \mbox{\hyperlink{usb_8h_source_l00527}{usb\+\_\+endpoint\+\_\+descriptor\+::b\+Descriptor\+Type}}, \textbf{ count}, \mbox{\hyperlink{usb__device_8h_source_l00000}{desc}}, \textbf{ type}, and \mbox{\hyperlink{usb__parse_8c_source_l00074}{usb\+\_\+desc\+\_\+foreach()}}.



Referenced by \mbox{\hyperlink{usb__device_8c_source_l01737}{usb\+\_\+alloc\+\_\+device()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a9eda9ac00cb77a482bb8dbbe3a341edd_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a9eda9ac00cb77a482bb8dbbe3a341edd_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_ac0b19f45e28e829a7bb513957171bbe7}\label{usbdi__util_8h_ac0b19f45e28e829a7bb513957171bbe7}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usbd\_req\_get\_report@{usbd\_req\_get\_report}}
\index{usbd\_req\_get\_report@{usbd\_req\_get\_report}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usbd\_req\_get\_report()}{usbd\_req\_get\_report()}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usbd\+\_\+req\+\_\+get\+\_\+report (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev,  }\item[{struct mtx $\ast$}]{mtx,  }\item[{void $\ast$}]{data,  }\item[{uint16\+\_\+t}]{len,  }\item[{uint8\+\_\+t}]{iface\+\_\+index,  }\item[{uint8\+\_\+t}]{type,  }\item[{uint8\+\_\+t}]{id }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__request_8c_source_l01834}{1834}} of file \mbox{\hyperlink{usb__request_8c_source}{usb\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb_8h_source_l00405}{usb\+\_\+interface\+\_\+descriptor\+::b\+Interface\+Number}}, \textbf{ data}, \mbox{\hyperlink{usbdi_8h_source_l00175}{usb\+\_\+interface\+::idesc}}, \mbox{\hyperlink{ehci_8h_source_l00041}{len}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \textbf{ type}, \mbox{\hyperlink{usbhid_8h_source_l00045}{UR\+\_\+\+GET\+\_\+\+REPORT}}, \mbox{\hyperlink{usbdi_8h_source_l00049}{USB\+\_\+\+ERR\+\_\+\+INVAL}}, \mbox{\hyperlink{usbdi_8h_source_l00596}{usbd\+\_\+do\+\_\+request}}, \mbox{\hyperlink{usb__device_8c_source_l02370}{usbd\+\_\+get\+\_\+iface()}}, \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}}.



Referenced by \mbox{\hyperlink{atp_8c_source_l00880}{atp\+\_\+set\+\_\+device\+\_\+mode()}}, \mbox{\hyperlink{cp2112_8c_source_l00268}{cp2112\+\_\+get\+\_\+report()}}, \mbox{\hyperlink{uhid_8c_source_l00449}{uhid\+\_\+get\+\_\+report()}}, \mbox{\hyperlink{wmt_8c_source_l00336}{wmt\+\_\+attach()}}, \mbox{\hyperlink{wmt_8c_source_l00970}{wmt\+\_\+set\+\_\+input\+\_\+mode()}}, and \mbox{\hyperlink{wsp_8c_source_l00661}{wsp\+\_\+set\+\_\+device\+\_\+mode()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=322pt]{d9/df9/usbdi__util_8h_ac0b19f45e28e829a7bb513957171bbe7_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_ac0b19f45e28e829a7bb513957171bbe7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_a58d170d91203f48ea26476542af74068}\label{usbdi__util_8h_a58d170d91203f48ea26476542af74068}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usbd\_req\_get\_report\_descriptor@{usbd\_req\_get\_report\_descriptor}}
\index{usbd\_req\_get\_report\_descriptor@{usbd\_req\_get\_report\_descriptor}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usbd\_req\_get\_report\_descriptor()}{usbd\_req\_get\_report\_descriptor()}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usbd\+\_\+req\+\_\+get\+\_\+report\+\_\+descriptor (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev,  }\item[{struct mtx $\ast$}]{mtx,  }\item[{void $\ast$}]{d,  }\item[{uint16\+\_\+t}]{size,  }\item[{uint8\+\_\+t}]{iface\+\_\+index }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__request_8c_source_l01890}{1890}} of file \mbox{\hyperlink{usb__request_8c_source}{usb\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb_8h_source_l00405}{usb\+\_\+interface\+\_\+descriptor\+::b\+Interface\+Number}}, \mbox{\hyperlink{usbdi_8h_source_l00175}{usb\+\_\+interface\+::idesc}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{if__axge_8c_source_l00089}{size}}, \mbox{\hyperlink{usbhid_8h_source_l00042}{UDESC\+\_\+\+REPORT}}, \mbox{\hyperlink{usb_8h_source_l00194}{UR\+\_\+\+GET\+\_\+\+DESCRIPTOR}}, \mbox{\hyperlink{usbdi_8h_source_l00049}{USB\+\_\+\+ERR\+\_\+\+INVAL}}, \mbox{\hyperlink{usbdi_8h_source_l00596}{usbd\+\_\+do\+\_\+request}}, \mbox{\hyperlink{usb__device_8c_source_l02370}{usbd\+\_\+get\+\_\+iface()}}, \mbox{\hyperlink{usb__endian_8h_source_l00077}{USETW}}, \mbox{\hyperlink{usb__endian_8h_source_l00100}{USETW2}}, and \mbox{\hyperlink{usb_8h_source_l00167}{UT\+\_\+\+READ\+\_\+\+INTERFACE}}.



Referenced by \mbox{\hyperlink{usb__hid_8c_source_l00113}{usbd\+\_\+req\+\_\+get\+\_\+hid\+\_\+desc()}}, and \mbox{\hyperlink{usbhid_8c_source_l00541}{usbhid\+\_\+get\+\_\+rdesc()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=322pt]{d9/df9/usbdi__util_8h_a58d170d91203f48ea26476542af74068_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a58d170d91203f48ea26476542af74068_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_a8b4cfbe332afa5e4284428f7819c3e19}\label{usbdi__util_8h_a8b4cfbe332afa5e4284428f7819c3e19}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usbd\_req\_get\_string\_any@{usbd\_req\_get\_string\_any}}
\index{usbd\_req\_get\_string\_any@{usbd\_req\_get\_string\_any}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usbd\_req\_get\_string\_any()}{usbd\_req\_get\_string\_any()}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usbd\+\_\+req\+\_\+get\+\_\+string\+\_\+any (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev,  }\item[{struct mtx $\ast$}]{mtx,  }\item[{char $\ast$}]{buf,  }\item[{uint16\+\_\+t}]{len,  }\item[{uint8\+\_\+t}]{string\+\_\+index }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__request_8c_source_l01100}{1100}} of file \mbox{\hyperlink{usb__request_8c_source}{usb\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb__device_8h_source_l00266}{usb\+\_\+device\+::flags}}, \mbox{\hyperlink{usb__device_8h_source_l00240}{usb\+\_\+device\+::langid}}, \mbox{\hyperlink{ehci_8h_source_l00041}{len}}, \mbox{\hyperlink{if__run_8c_source_l00612}{n}}, \mbox{\hyperlink{usb__device_8h_source_l00096}{usb\+\_\+device\+\_\+flags\+::no\+\_\+strings}}, \mbox{\hyperlink{usb__endian_8h_source_l00053}{UGETW}}, \mbox{\hyperlink{usbdi_8h_source_l00049}{USB\+\_\+\+ERR\+\_\+\+INVAL}}, \mbox{\hyperlink{usbdi_8h_source_l00046}{USB\+\_\+\+ERR\+\_\+\+NORMAL\+\_\+\+COMPLETION}}, \mbox{\hyperlink{usbdi_8h_source_l00068}{USB\+\_\+\+ERR\+\_\+\+STALLED}}, and \mbox{\hyperlink{usb__request_8c_source_l01206}{usbd\+\_\+req\+\_\+get\+\_\+string\+\_\+desc()}}.



Referenced by \mbox{\hyperlink{if__cdce_8c_source_l00605}{cdce\+\_\+attach()}}, \mbox{\hyperlink{usb__util_8c_source_l00073}{device\+\_\+set\+\_\+usb\+\_\+desc()}}, and \mbox{\hyperlink{usb__device_8c_source_l02488}{usb\+\_\+set\+\_\+device\+\_\+strings()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a8b4cfbe332afa5e4284428f7819c3e19_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{d9/df9/usbdi__util_8h_a8b4cfbe332afa5e4284428f7819c3e19_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_a6b26fc399b10141dc40b8a9f39f75688}\label{usbdi__util_8h_a6b26fc399b10141dc40b8a9f39f75688}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usbd\_req\_get\_string\_desc@{usbd\_req\_get\_string\_desc}}
\index{usbd\_req\_get\_string\_desc@{usbd\_req\_get\_string\_desc}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usbd\_req\_get\_string\_desc()}{usbd\_req\_get\_string\_desc()}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usbd\+\_\+req\+\_\+get\+\_\+string\+\_\+desc (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev,  }\item[{struct mtx $\ast$}]{mtx,  }\item[{void $\ast$}]{sdesc,  }\item[{uint16\+\_\+t}]{max\+\_\+len,  }\item[{uint16\+\_\+t}]{lang\+\_\+id,  }\item[{uint8\+\_\+t}]{string\+\_\+index }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__request_8c_source_l01206}{1206}} of file \mbox{\hyperlink{usb__request_8c_source}{usb\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb_8h_source_l00197}{UDESC\+\_\+\+STRING}}, and \mbox{\hyperlink{usb__request_8c_source_l00986}{usbd\+\_\+req\+\_\+get\+\_\+desc()}}.



Referenced by \mbox{\hyperlink{usb__device_8c_source_l01651}{usb\+\_\+get\+\_\+langid()}}, and \mbox{\hyperlink{usb__request_8c_source_l01100}{usbd\+\_\+req\+\_\+get\+\_\+string\+\_\+any()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a6b26fc399b10141dc40b8a9f39f75688_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{d9/df9/usbdi__util_8h_a6b26fc399b10141dc40b8a9f39f75688_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_a563d9bd2a394a163a87ea99239e82dce}\label{usbdi__util_8h_a563d9bd2a394a163a87ea99239e82dce}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usbd\_req\_set\_alt\_interface\_no@{usbd\_req\_set\_alt\_interface\_no}}
\index{usbd\_req\_set\_alt\_interface\_no@{usbd\_req\_set\_alt\_interface\_no}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usbd\_req\_set\_alt\_interface\_no()}{usbd\_req\_set\_alt\_interface\_no()}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usbd\+\_\+req\+\_\+set\+\_\+alt\+\_\+interface\+\_\+no (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev,  }\item[{struct mtx $\ast$}]{mtx,  }\item[{uint8\+\_\+t}]{iface\+\_\+index,  }\item[{uint8\+\_\+t}]{alt\+\_\+no }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__request_8c_source_l01434}{1434}} of file \mbox{\hyperlink{usb__request_8c_source}{usb\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb_8h_source_l00405}{usb\+\_\+interface\+\_\+descriptor\+::b\+Interface\+Number}}, \mbox{\hyperlink{umass_8c_source_l00179}{DPRINTF}}, \mbox{\hyperlink{usbdi_8h_source_l00175}{usb\+\_\+interface\+::idesc}}, \mbox{\hyperlink{usbdi_8h_source_l00178}{usb\+\_\+interface\+::num\+\_\+altsetting}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usb_8h_source_l00221}{UR\+\_\+\+SET\+\_\+\+INTERFACE}}, \mbox{\hyperlink{usbdi_8h_source_l00049}{USB\+\_\+\+ERR\+\_\+\+INVAL}}, \mbox{\hyperlink{usbdi_8h_source_l00068}{USB\+\_\+\+ERR\+\_\+\+STALLED}}, \mbox{\hyperlink{usbdi_8h_source_l00596}{usbd\+\_\+do\+\_\+request}}, \mbox{\hyperlink{usb__device_8c_source_l02370}{usbd\+\_\+get\+\_\+iface()}}, \mbox{\hyperlink{usb__endian_8h_source_l00077}{USETW}}, and \mbox{\hyperlink{usb_8h_source_l00170}{UT\+\_\+\+WRITE\+\_\+\+INTERFACE}}.



Referenced by \mbox{\hyperlink{u3g_8c_source_l00685}{u3g\+\_\+sael\+\_\+m460\+\_\+init()}}, and \mbox{\hyperlink{usb__device_8c_source_l01034}{usbd\+\_\+set\+\_\+alt\+\_\+interface\+\_\+index()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a563d9bd2a394a163a87ea99239e82dce_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a563d9bd2a394a163a87ea99239e82dce_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_a41406cc7a17f599c5c3faea9c6b703ff}\label{usbdi__util_8h_a41406cc7a17f599c5c3faea9c6b703ff}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usbd\_req\_set\_config@{usbd\_req\_set\_config}}
\index{usbd\_req\_set\_config@{usbd\_req\_set\_config}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usbd\_req\_set\_config()}{usbd\_req\_set\_config()}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usbd\+\_\+req\+\_\+set\+\_\+config (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev,  }\item[{struct mtx $\ast$}]{mtx,  }\item[{uint8\+\_\+t}]{conf }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__request_8c_source_l01920}{1920}} of file \mbox{\hyperlink{usb__request_8c_source}{usb\+\_\+request.\+c}}.



References \mbox{\hyperlink{umass_8c_source_l00179}{DPRINTF}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usb_8h_source_l00219}{UR\+\_\+\+SET\+\_\+\+CONFIG}}, \mbox{\hyperlink{usbdi_8h_source_l00596}{usbd\+\_\+do\+\_\+request}}, \mbox{\hyperlink{usb__endian_8h_source_l00077}{USETW}}, and \mbox{\hyperlink{usb_8h_source_l00169}{UT\+\_\+\+WRITE\+\_\+\+DEVICE}}.



Referenced by \mbox{\hyperlink{if__axe_8c_source_l00792}{axe\+\_\+reset()}}, \mbox{\hyperlink{if__axge_8c_source_l00420}{axge\+\_\+reset()}}, \mbox{\hyperlink{if__kue_8c_source_l00409}{kue\+\_\+reset()}}, \mbox{\hyperlink{if__muge_8c_source_l01729}{muge\+\_\+reset()}}, \mbox{\hyperlink{if__smsc_8c_source_l00871}{smsc\+\_\+reset()}}, \mbox{\hyperlink{usb__device_8c_source_l00672}{usbd\+\_\+set\+\_\+config\+\_\+index()}}, and \mbox{\hyperlink{if__zyd_8c_source_l02654}{zyd\+\_\+init\+\_\+locked()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_a41406cc7a17f599c5c3faea9c6b703ff_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_accd609da95f3845ea881ee7bbc3ef075}\label{usbdi__util_8h_accd609da95f3845ea881ee7bbc3ef075}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usbd\_req\_set\_idle@{usbd\_req\_set\_idle}}
\index{usbd\_req\_set\_idle@{usbd\_req\_set\_idle}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usbd\_req\_set\_idle()}{usbd\_req\_set\_idle()}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usbd\+\_\+req\+\_\+set\+\_\+idle (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev,  }\item[{struct mtx $\ast$}]{mtx,  }\item[{uint8\+\_\+t}]{iface\+\_\+index,  }\item[{uint8\+\_\+t}]{duration,  }\item[{uint8\+\_\+t}]{id }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__request_8c_source_l01862}{1862}} of file \mbox{\hyperlink{usb__request_8c_source}{usb\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb_8h_source_l00405}{usb\+\_\+interface\+\_\+descriptor\+::b\+Interface\+Number}}, \mbox{\hyperlink{usbdi_8h_source_l00175}{usb\+\_\+interface\+::idesc}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usbhid_8h_source_l00048}{UR\+\_\+\+SET\+\_\+\+IDLE}}, \mbox{\hyperlink{usbdi_8h_source_l00049}{USB\+\_\+\+ERR\+\_\+\+INVAL}}, \mbox{\hyperlink{usbdi_8h_source_l00596}{usbd\+\_\+do\+\_\+request}}, \mbox{\hyperlink{usb__device_8c_source_l02370}{usbd\+\_\+get\+\_\+iface()}}, \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}}.



Referenced by \mbox{\hyperlink{uhid_8c_source_l00762}{uhid\+\_\+attach()}}, \mbox{\hyperlink{ukbd_8c_source_l01073}{ukbd\+\_\+attach()}}, and \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=310pt]{d9/df9/usbdi__util_8h_accd609da95f3845ea881ee7bbc3ef075_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=305pt]{d9/df9/usbdi__util_8h_accd609da95f3845ea881ee7bbc3ef075_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_ad7248e7e5a97e3d838f18864bebfdd94}\label{usbdi__util_8h_ad7248e7e5a97e3d838f18864bebfdd94}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usbd\_req\_set\_protocol@{usbd\_req\_set\_protocol}}
\index{usbd\_req\_set\_protocol@{usbd\_req\_set\_protocol}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usbd\_req\_set\_protocol()}{usbd\_req\_set\_protocol()}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usbd\+\_\+req\+\_\+set\+\_\+protocol (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev,  }\item[{struct mtx $\ast$}]{mtx,  }\item[{uint8\+\_\+t}]{iface\+\_\+index,  }\item[{uint16\+\_\+t}]{report }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__request_8c_source_l01777}{1777}} of file \mbox{\hyperlink{usb__request_8c_source}{usb\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb_8h_source_l00405}{usb\+\_\+interface\+\_\+descriptor\+::b\+Interface\+Number}}, \mbox{\hyperlink{usbdi_8h_source_l00175}{usb\+\_\+interface\+::idesc}}, \textbf{ report}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usbhid_8h_source_l00050}{UR\+\_\+\+SET\+\_\+\+PROTOCOL}}, \mbox{\hyperlink{usbdi_8h_source_l00049}{USB\+\_\+\+ERR\+\_\+\+INVAL}}, \mbox{\hyperlink{usbdi_8h_source_l00596}{usbd\+\_\+do\+\_\+request}}, \mbox{\hyperlink{usb__device_8c_source_l02370}{usbd\+\_\+get\+\_\+iface()}}, \mbox{\hyperlink{usb__endian_8h_source_l00077}{USETW}}, and \mbox{\hyperlink{usb_8h_source_l00177}{UT\+\_\+\+WRITE\+\_\+\+CLASS\+\_\+\+INTERFACE}}.



Referenced by \mbox{\hyperlink{ukbd_8c_source_l01073}{ukbd\+\_\+attach()}}, and \mbox{\hyperlink{ums_8c_source_l00570}{ums\+\_\+attach()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=332pt]{d9/df9/usbdi__util_8h_ad7248e7e5a97e3d838f18864bebfdd94_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=319pt]{d9/df9/usbdi__util_8h_ad7248e7e5a97e3d838f18864bebfdd94_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usbdi__util_8h_aa80da0d45171e70f02698c8adaf8e96e}\label{usbdi__util_8h_aa80da0d45171e70f02698c8adaf8e96e}} 
\index{usbdi\_util.h@{usbdi\_util.h}!usbd\_req\_set\_report@{usbd\_req\_set\_report}}
\index{usbd\_req\_set\_report@{usbd\_req\_set\_report}!usbdi\_util.h@{usbdi\_util.h}}
\doxysubsubsection{\texorpdfstring{usbd\_req\_set\_report()}{usbd\_req\_set\_report()}}
{\footnotesize\ttfamily \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usbd\+\_\+req\+\_\+set\+\_\+report (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev,  }\item[{struct mtx $\ast$}]{mtx,  }\item[{void $\ast$}]{data,  }\item[{uint16\+\_\+t}]{len,  }\item[{uint8\+\_\+t}]{iface\+\_\+index,  }\item[{uint8\+\_\+t}]{type,  }\item[{uint8\+\_\+t}]{id }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{usb__request_8c_source_l01806}{1806}} of file \mbox{\hyperlink{usb__request_8c_source}{usb\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb_8h_source_l00405}{usb\+\_\+interface\+\_\+descriptor\+::b\+Interface\+Number}}, \textbf{ data}, \mbox{\hyperlink{usbdi_8h_source_l00175}{usb\+\_\+interface\+::idesc}}, \mbox{\hyperlink{ehci_8h_source_l00041}{len}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \textbf{ type}, \mbox{\hyperlink{usbhid_8h_source_l00046}{UR\+\_\+\+SET\+\_\+\+REPORT}}, \mbox{\hyperlink{usbdi_8h_source_l00049}{USB\+\_\+\+ERR\+\_\+\+INVAL}}, \mbox{\hyperlink{usbdi_8h_source_l00596}{usbd\+\_\+do\+\_\+request}}, \mbox{\hyperlink{usb__device_8c_source_l02370}{usbd\+\_\+get\+\_\+iface()}}, \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}}.



Referenced by \mbox{\hyperlink{atp_8c_source_l00880}{atp\+\_\+set\+\_\+device\+\_\+mode()}}, \mbox{\hyperlink{cp2112_8c_source_l00280}{cp2112\+\_\+set\+\_\+report()}}, \mbox{\hyperlink{ugold_8c_source_l00386}{ugold\+\_\+issue\+\_\+cmd()}}, \mbox{\hyperlink{uhid_8c_source_l00762}{uhid\+\_\+attach()}}, \mbox{\hyperlink{uhid_8c_source_l00481}{uhid\+\_\+set\+\_\+report()}}, \mbox{\hyperlink{wmt_8c_source_l00970}{wmt\+\_\+set\+\_\+input\+\_\+mode()}}, and \mbox{\hyperlink{wsp_8c_source_l00661}{wsp\+\_\+set\+\_\+device\+\_\+mode()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=322pt]{d9/df9/usbdi__util_8h_aa80da0d45171e70f02698c8adaf8e96e_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df9/usbdi__util_8h_aa80da0d45171e70f02698c8adaf8e96e_icgraph}
\end{center}
\end{figure}
