\hypertarget{usb__handle__request_8c}{}\doxysection{dev/usb/usb\+\_\+handle\+\_\+request.c File Reference}
\label{usb__handle__request_8c}\index{dev/usb/usb\_handle\_request.c@{dev/usb/usb\_handle\_request.c}}
{\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 $<$dev/usb/usb.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usbdi.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usbdi\+\_\+util.\+h$>$}\newline
{\ttfamily \#include \char`\"{}usb\+\_\+if.\+h\char`\"{}}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+core.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+process.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+busdma.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+transfer.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+device.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+debug.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+dynamic.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+hub.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+controller.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+bus.\+h$>$}\newline
Include dependency graph for usb\+\_\+handle\+\_\+request.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d4/d14/usb__handle__request_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{usb__handle__request_8c_a927dd6f59caf10a2991dfb564bcbb1e1}{USB\+\_\+\+DEBUG\+\_\+\+VAR}}~\mbox{\hyperlink{usb__debug_8h_ae3f6d70c719c77e228ccc905331d7784}{usb\+\_\+debug}}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static uint8\+\_\+t \mbox{\hyperlink{usb__handle__request_8c_a237fa4ab951e3672f4bc704b2c3dceac}{usb\+\_\+handle\+\_\+get\+\_\+stall}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$, uint8\+\_\+t)
\item 
static \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usb__handle__request_8c_a0bdb5b1818430bcc50a67f5f62bc6632}{usb\+\_\+handle\+\_\+remote\+\_\+wakeup}} (struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$, uint8\+\_\+t)
\item 
static \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usb__handle__request_8c_acd7ff252b93f3bd9e87d0f8b3eb3ffa5}{usb\+\_\+handle\+\_\+request}} (struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$)
\item 
static \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usb__handle__request_8c_a49bce512da7cbe3b77000bedd407cfd2}{usb\+\_\+handle\+\_\+set\+\_\+config}} (struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$, uint8\+\_\+t)
\item 
static \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usb__handle__request_8c_aae8242393a914fddecf1608a5d6bd2e7}{usb\+\_\+handle\+\_\+set\+\_\+stall}} (struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$, uint8\+\_\+t, uint8\+\_\+t)
\item 
static \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usb__handle__request_8c_ab41af7ca7d79f5e895cee03ddd74dc01}{usb\+\_\+handle\+\_\+iface\+\_\+request}} (struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$, void $\ast$$\ast$, uint16\+\_\+t $\ast$, struct \mbox{\hyperlink{structusb__device__request}{usb\+\_\+device\+\_\+request}}, uint16\+\_\+t, uint8\+\_\+t)
\item 
void \mbox{\hyperlink{usb__handle__request_8c_adf57afdcfb59ed15ec3b8fbe73d5e889}{usb\+\_\+handle\+\_\+request\+\_\+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 \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} \mbox{\hyperlink{usb__handle__request_8c_ab85dd055db53941d4a58967968da5cd0}{usb\+\_\+check\+\_\+alt\+\_\+setting}} (struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$udev, struct \mbox{\hyperlink{structusb__interface}{usb\+\_\+interface}} $\ast$iface, uint8\+\_\+t alt\+\_\+index)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{usb__handle__request_8c_a927dd6f59caf10a2991dfb564bcbb1e1}\label{usb__handle__request_8c_a927dd6f59caf10a2991dfb564bcbb1e1}} 
\index{usb\_handle\_request.c@{usb\_handle\_request.c}!USB\_DEBUG\_VAR@{USB\_DEBUG\_VAR}}
\index{USB\_DEBUG\_VAR@{USB\_DEBUG\_VAR}!usb\_handle\_request.c@{usb\_handle\_request.c}}
\doxysubsubsection{\texorpdfstring{USB\_DEBUG\_VAR}{USB\_DEBUG\_VAR}}
{\footnotesize\ttfamily \#define USB\+\_\+\+DEBUG\+\_\+\+VAR~\mbox{\hyperlink{usb__debug_8h_ae3f6d70c719c77e228ccc905331d7784}{usb\+\_\+debug}}}



Definition at line \mbox{\hyperlink{usb__handle__request_8c_source_l00056}{56}} of file \mbox{\hyperlink{usb__handle__request_8c_source}{usb\+\_\+handle\+\_\+request.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{usb__handle__request_8c_ab85dd055db53941d4a58967968da5cd0}\label{usb__handle__request_8c_ab85dd055db53941d4a58967968da5cd0}} 
\index{usb\_handle\_request.c@{usb\_handle\_request.c}!usb\_check\_alt\_setting@{usb\_check\_alt\_setting}}
\index{usb\_check\_alt\_setting@{usb\_check\_alt\_setting}!usb\_handle\_request.c@{usb\_handle\_request.c}}
\doxysubsubsection{\texorpdfstring{usb\_check\_alt\_setting()}{usb\_check\_alt\_setting()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usb\+\_\+check\+\_\+alt\+\_\+setting (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev,  }\item[{struct \mbox{\hyperlink{structusb__interface}{usb\+\_\+interface}} $\ast$}]{iface,  }\item[{uint8\+\_\+t}]{alt\+\_\+index }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__handle__request_8c_source_l00192}{192}} of file \mbox{\hyperlink{usb__handle__request_8c_source}{usb\+\_\+handle\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb__device_8h_source_l00220}{usb\+\_\+device\+::cdesc}}, \mbox{\hyperlink{usbdi_8h_source_l00175}{usb\+\_\+interface\+::idesc}}, \mbox{\hyperlink{usbdi_8h_source_l00049}{USB\+\_\+\+ERR\+\_\+\+INVAL}}, \mbox{\hyperlink{usb__device_8c_source_l02896}{usbd\+\_\+enum\+\_\+lock()}}, \mbox{\hyperlink{usb__device_8c_source_l02936}{usbd\+\_\+enum\+\_\+unlock()}}, and \mbox{\hyperlink{usb__parse_8c_source_l00288}{usbd\+\_\+get\+\_\+no\+\_\+alts()}}.



Referenced by \mbox{\hyperlink{usb__handle__request_8c_source_l00218}{usb\+\_\+handle\+\_\+iface\+\_\+request()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_ab85dd055db53941d4a58967968da5cd0_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_ab85dd055db53941d4a58967968da5cd0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usb__handle__request_8c_a237fa4ab951e3672f4bc704b2c3dceac}\label{usb__handle__request_8c_a237fa4ab951e3672f4bc704b2c3dceac}} 
\index{usb\_handle\_request.c@{usb\_handle\_request.c}!usb\_handle\_get\_stall@{usb\_handle\_get\_stall}}
\index{usb\_handle\_get\_stall@{usb\_handle\_get\_stall}!usb\_handle\_request.c@{usb\_handle\_request.c}}
\doxysubsubsection{\texorpdfstring{usb\_handle\_get\_stall()}{usb\_handle\_get\_stall()}}
{\footnotesize\ttfamily static uint8\+\_\+t usb\+\_\+handle\+\_\+get\+\_\+stall (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__device}{usb\+\_\+device}} $\ast$}]{udev,  }\item[{uint8\+\_\+t}]{ea\+\_\+val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__handle__request_8c_source_l00405}{405}} of file \mbox{\hyperlink{usb__handle__request_8c_source}{usb\+\_\+handle\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb__device_8h_source_l00216}{usb\+\_\+device\+::bus}}, \mbox{\hyperlink{usbdi_8h_source_l00151}{usb\+\_\+endpoint\+::is\+\_\+stalled}}, \mbox{\hyperlink{usb__core_8h_source_l00045}{USB\+\_\+\+BUS\+\_\+\+LOCK}}, \mbox{\hyperlink{usb__core_8h_source_l00046}{USB\+\_\+\+BUS\+\_\+\+UNLOCK}}, and \mbox{\hyperlink{usb__device_8c_source_l00309}{usbd\+\_\+get\+\_\+ep\+\_\+by\+\_\+addr()}}.



Referenced by \mbox{\hyperlink{usb__handle__request_8c_source_l00467}{usb\+\_\+handle\+\_\+request()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_a237fa4ab951e3672f4bc704b2c3dceac_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_a237fa4ab951e3672f4bc704b2c3dceac_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usb__handle__request_8c_ab41af7ca7d79f5e895cee03ddd74dc01}\label{usb__handle__request_8c_ab41af7ca7d79f5e895cee03ddd74dc01}} 
\index{usb\_handle\_request.c@{usb\_handle\_request.c}!usb\_handle\_iface\_request@{usb\_handle\_iface\_request}}
\index{usb\_handle\_iface\_request@{usb\_handle\_iface\_request}!usb\_handle\_request.c@{usb\_handle\_request.c}}
\doxysubsubsection{\texorpdfstring{usb\_handle\_iface\_request()}{usb\_handle\_iface\_request()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usb\+\_\+handle\+\_\+iface\+\_\+request (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$}]{xfer,  }\item[{void $\ast$$\ast$}]{ppdata,  }\item[{uint16\+\_\+t $\ast$}]{plen,  }\item[{struct \mbox{\hyperlink{structusb__device__request}{usb\+\_\+device\+\_\+request}}}]{req,  }\item[{uint16\+\_\+t}]{off,  }\item[{uint8\+\_\+t}]{state }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__handle__request_8c_source_l00218}{218}} of file \mbox{\hyperlink{usb__handle__request_8c_source}{usb\+\_\+handle\+\_\+request.\+c}}.



References \mbox{\hyperlink{usbdi_8h_source_l00180}{usb\+\_\+interface\+::alt\+\_\+index}}, \mbox{\hyperlink{umass_8c_source_l00179}{DPRINTF}}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{usbdi_8h_source_l00175}{usb\+\_\+interface\+::idesc}}, \mbox{\hyperlink{usbdi_8h_source_l00181}{usb\+\_\+interface\+::parent\+\_\+iface\+\_\+index}}, \mbox{\hyperlink{usb__if_8m_source_l00053}{plen}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usb__device_8h_source_l00234}{usb\+\_\+device\+::state}}, \mbox{\hyperlink{usbdi_8h_source_l00176}{usb\+\_\+interface\+::subdev}}, \mbox{\hyperlink{usb__transfer_8h_source_l00079}{usb\+\_\+xfer\+\_\+root\+::udev}}, \mbox{\hyperlink{usb_8h_source_l00220}{UR\+\_\+\+GET\+\_\+\+INTERFACE}}, \mbox{\hyperlink{usb_8h_source_l00221}{UR\+\_\+\+SET\+\_\+\+INTERFACE}}, \mbox{\hyperlink{usb__handle__request_8c_source_l00192}{usb\+\_\+check\+\_\+alt\+\_\+setting()}}, \mbox{\hyperlink{usbdi_8h_source_l00067}{USB\+\_\+\+ERR\+\_\+\+SHORT\+\_\+\+XFER}}, \mbox{\hyperlink{usbdi_8h_source_l00068}{USB\+\_\+\+ERR\+\_\+\+STALLED}}, \mbox{\hyperlink{usb__handle__request_8c_source_l00467}{usb\+\_\+handle\+\_\+request()}}, \mbox{\hyperlink{usbdi_8h_source_l00508}{USB\+\_\+\+HR\+\_\+\+COMPLETE\+\_\+\+OK}}, \mbox{\hyperlink{usbdi_8h_source_l00507}{USB\+\_\+\+HR\+\_\+\+NOT\+\_\+\+COMPLETE}}, \mbox{\hyperlink{usb__device_8c_source_l01178}{usb\+\_\+reset\+\_\+iface\+\_\+endpoints()}}, \mbox{\hyperlink{usb__core_8h_source_l00055}{USB\+\_\+\+XFER\+\_\+\+LOCK}}, \mbox{\hyperlink{usb__core_8h_source_l00056}{USB\+\_\+\+XFER\+\_\+\+UNLOCK}}, \mbox{\hyperlink{usb__device_8c_source_l02896}{usbd\+\_\+enum\+\_\+lock()}}, \mbox{\hyperlink{usb__device_8c_source_l02936}{usbd\+\_\+enum\+\_\+unlock()}}, \mbox{\hyperlink{usb__error_8c_source_l00093}{usbd\+\_\+errstr()}}, \mbox{\hyperlink{usb__device_8c_source_l02370}{usbd\+\_\+get\+\_\+iface()}}, \mbox{\hyperlink{usb_8h_source_l00162}{UT\+\_\+\+INTERFACE}}, \mbox{\hyperlink{usb_8h_source_l00167}{UT\+\_\+\+READ\+\_\+\+INTERFACE}}, \mbox{\hyperlink{usb_8h_source_l00170}{UT\+\_\+\+WRITE\+\_\+\+INTERFACE}}, and \mbox{\hyperlink{usb__core_8h_source_l00141}{usb\+\_\+xfer\+::xroot}}.



Referenced by \mbox{\hyperlink{usb__handle__request_8c_source_l00467}{usb\+\_\+handle\+\_\+request()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_ab41af7ca7d79f5e895cee03ddd74dc01_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_ab41af7ca7d79f5e895cee03ddd74dc01_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usb__handle__request_8c_a0bdb5b1818430bcc50a67f5f62bc6632}\label{usb__handle__request_8c_a0bdb5b1818430bcc50a67f5f62bc6632}} 
\index{usb\_handle\_request.c@{usb\_handle\_request.c}!usb\_handle\_remote\_wakeup@{usb\_handle\_remote\_wakeup}}
\index{usb\_handle\_remote\_wakeup@{usb\_handle\_remote\_wakeup}!usb\_handle\_request.c@{usb\_handle\_request.c}}
\doxysubsubsection{\texorpdfstring{usb\_handle\_remote\_wakeup()}{usb\_handle\_remote\_wakeup()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usb\+\_\+handle\+\_\+remote\+\_\+wakeup (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$}]{xfer,  }\item[{uint8\+\_\+t}]{is\+\_\+on }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__handle__request_8c_source_l00430}{430}} of file \mbox{\hyperlink{usb__handle__request_8c_source}{usb\+\_\+handle\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb__device_8h_source_l00216}{usb\+\_\+device\+::bus}}, \textbf{ bus}, \mbox{\hyperlink{usb__device_8h_source_l00266}{usb\+\_\+device\+::flags}}, \mbox{\hyperlink{usb__device_8h_source_l00098}{usb\+\_\+device\+\_\+flags\+::remote\+\_\+wakeup}}, \mbox{\hyperlink{usb__transfer_8h_source_l00079}{usb\+\_\+xfer\+\_\+root\+::udev}}, \mbox{\hyperlink{usb__core_8h_source_l00045}{USB\+\_\+\+BUS\+\_\+\+LOCK}}, \mbox{\hyperlink{usb__hub_8h_ae910ce81431cdd33f68f5241b53dfc04}{usb\+\_\+bus\+\_\+power\+\_\+update()}}, \mbox{\hyperlink{usb__core_8h_source_l00046}{USB\+\_\+\+BUS\+\_\+\+UNLOCK}}, and \mbox{\hyperlink{usb__core_8h_source_l00141}{usb\+\_\+xfer\+::xroot}}.



Referenced by \mbox{\hyperlink{usb__handle__request_8c_source_l00467}{usb\+\_\+handle\+\_\+request()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_a0bdb5b1818430bcc50a67f5f62bc6632_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_a0bdb5b1818430bcc50a67f5f62bc6632_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usb__handle__request_8c_acd7ff252b93f3bd9e87d0f8b3eb3ffa5}\label{usb__handle__request_8c_acd7ff252b93f3bd9e87d0f8b3eb3ffa5}} 
\index{usb\_handle\_request.c@{usb\_handle\_request.c}!usb\_handle\_request@{usb\_handle\_request}}
\index{usb\_handle\_request@{usb\_handle\_request}!usb\_handle\_request.c@{usb\_handle\_request.c}}
\doxysubsubsection{\texorpdfstring{usb\_handle\_request()}{usb\_handle\_request()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usb\+\_\+handle\+\_\+request (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$}]{xfer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__handle__request_8c_source_l00467}{467}} of file \mbox{\hyperlink{usb__handle__request_8c_source}{usb\+\_\+handle\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb__device_8h_source_l00243}{usb\+\_\+device\+::address}}, \mbox{\hyperlink{usb__device_8h_source_l00216}{usb\+\_\+device\+::bus}}, \mbox{\hyperlink{usb__core_8h_source_l00106}{usb\+\_\+xfer\+\_\+flags\+\_\+int\+::control\+\_\+act}}, \mbox{\hyperlink{usb__core_8h_source_l00092}{usb\+\_\+xfer\+\_\+flags\+\_\+int\+::control\+\_\+rem}}, \mbox{\hyperlink{usb__device_8h_source_l00248}{usb\+\_\+device\+::curr\+\_\+config\+\_\+no}}, \mbox{\hyperlink{umass_8c_source_l00179}{DPRINTF}}, \mbox{\hyperlink{usb__core_8h_source_l00181}{usb\+\_\+xfer\+::flags}}, \mbox{\hyperlink{usb__device_8h_source_l00266}{usb\+\_\+device\+::flags}}, \mbox{\hyperlink{usb__core_8h_source_l00182}{usb\+\_\+xfer\+::flags\+\_\+int}}, \mbox{\hyperlink{usbdi_8h_source_l00196}{usb\+\_\+xfer\+\_\+flags\+::force\+\_\+short\+\_\+xfer}}, \mbox{\hyperlink{usb__core_8h_source_l00151}{usb\+\_\+xfer\+::frbuffers}}, \mbox{\hyperlink{usbdi_8h_source_l00204}{usb\+\_\+xfer\+\_\+flags\+::manual\+\_\+status}}, \mbox{\hyperlink{usb__core_8h_source_l00155}{usb\+\_\+xfer\+::max\+\_\+data\+\_\+length}}, \mbox{\hyperlink{usb__core_8h_source_l00162}{usb\+\_\+xfer\+::nframes}}, \mbox{\hyperlink{usb__device_8h_source_l00098}{usb\+\_\+device\+\_\+flags\+::remote\+\_\+wakeup}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, \mbox{\hyperlink{usb__device_8h_source_l00095}{usb\+\_\+device\+\_\+flags\+::self\+\_\+powered}}, \mbox{\hyperlink{usb__device_8h_source_l00234}{usb\+\_\+device\+::state}}, \textbf{ state}, \mbox{\hyperlink{usb__transfer_8h_source_l00079}{usb\+\_\+xfer\+\_\+root\+::udev}}, \mbox{\hyperlink{usb_8h_source_l00689}{UDS\+\_\+\+REMOTE\+\_\+\+WAKEUP}}, \mbox{\hyperlink{usb_8h_source_l00688}{UDS\+\_\+\+SELF\+\_\+\+POWERED}}, \mbox{\hyperlink{usb_8h_source_l00239}{UF\+\_\+\+DEVICE\+\_\+\+REMOTE\+\_\+\+WAKEUP}}, \mbox{\hyperlink{usb_8h_source_l00238}{UF\+\_\+\+ENDPOINT\+\_\+\+HALT}}, \mbox{\hyperlink{usb__endian_8h_source_l00053}{UGETW}}, \mbox{\hyperlink{usb_8h_source_l00191}{UR\+\_\+\+CLEAR\+\_\+\+FEATURE}}, \mbox{\hyperlink{usb_8h_source_l00218}{UR\+\_\+\+GET\+\_\+\+CONFIG}}, \mbox{\hyperlink{usb_8h_source_l00194}{UR\+\_\+\+GET\+\_\+\+DESCRIPTOR}}, \mbox{\hyperlink{usb_8h_source_l00190}{UR\+\_\+\+GET\+\_\+\+STATUS}}, \mbox{\hyperlink{usb_8h_source_l00193}{UR\+\_\+\+SET\+\_\+\+ADDRESS}}, \mbox{\hyperlink{usb_8h_source_l00219}{UR\+\_\+\+SET\+\_\+\+CONFIG}}, \mbox{\hyperlink{usb_8h_source_l00192}{UR\+\_\+\+SET\+\_\+\+FEATURE}}, \mbox{\hyperlink{usb__core_8h_source_l00064}{USB\+\_\+\+ADD\+\_\+\+BYTES}}, \mbox{\hyperlink{usb__core_8h_source_l00045}{USB\+\_\+\+BUS\+\_\+\+LOCK}}, \mbox{\hyperlink{usb__core_8h_source_l00046}{USB\+\_\+\+BUS\+\_\+\+UNLOCK}}, \mbox{\hyperlink{usbdi_8h_source_l00071}{USB\+\_\+\+ERR\+\_\+\+BAD\+\_\+\+CONTEXT}}, \mbox{\hyperlink{usbdi_8h_source_l00067}{USB\+\_\+\+ERR\+\_\+\+SHORT\+\_\+\+XFER}}, \mbox{\hyperlink{usbdi_8h_source_l00068}{USB\+\_\+\+ERR\+\_\+\+STALLED}}, \mbox{\hyperlink{usbdi_8h_source_l00515}{USB\+\_\+\+GET\+\_\+\+STATE}}, \mbox{\hyperlink{usb__handle__request_8c_source_l00405}{usb\+\_\+handle\+\_\+get\+\_\+stall()}}, \mbox{\hyperlink{usb__handle__request_8c_source_l00218}{usb\+\_\+handle\+\_\+iface\+\_\+request()}}, \mbox{\hyperlink{usb__handle__request_8c_source_l00430}{usb\+\_\+handle\+\_\+remote\+\_\+wakeup()}}, \mbox{\hyperlink{usb__handle__request_8c_source_l00149}{usb\+\_\+handle\+\_\+set\+\_\+config()}}, \mbox{\hyperlink{usb__handle__request_8c_source_l00385}{usb\+\_\+handle\+\_\+set\+\_\+stall()}}, \mbox{\hyperlink{usbdi_8h_source_l00509}{USB\+\_\+\+HR\+\_\+\+COMPLETE\+\_\+\+ERR}}, \mbox{\hyperlink{usbdi_8h_source_l00508}{USB\+\_\+\+HR\+\_\+\+COMPLETE\+\_\+\+OK}}, \mbox{\hyperlink{usbdi_8h_source_l00507}{USB\+\_\+\+HR\+\_\+\+NOT\+\_\+\+COMPLETE}}, \mbox{\hyperlink{usbdi_8h_source_l00502}{USB\+\_\+\+ST\+\_\+\+SETUP}}, \mbox{\hyperlink{usbdi_8h_source_l00503}{USB\+\_\+\+ST\+\_\+\+TRANSFERRED}}, \mbox{\hyperlink{usb__dynamic_8c_source_l00072}{usb\+\_\+temp\+\_\+get\+\_\+desc\+\_\+p}}, \mbox{\hyperlink{usb__busdma_8c_source_l00166}{usbd\+\_\+copy\+\_\+in()}}, \mbox{\hyperlink{usb__busdma_8c_source_l00283}{usbd\+\_\+copy\+\_\+out()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02304}{usbd\+\_\+xfer\+\_\+max\+\_\+len()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02208}{usbd\+\_\+xfer\+\_\+set\+\_\+frame\+\_\+data()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02316}{usbd\+\_\+xfer\+\_\+set\+\_\+frame\+\_\+len()}}, \mbox{\hyperlink{usb__transfer_8c_source_l02267}{usbd\+\_\+xfer\+\_\+set\+\_\+frame\+\_\+offset()}}, \mbox{\hyperlink{usb__endian_8h_source_l00077}{USETW}}, \mbox{\hyperlink{usb_8h_source_l00166}{UT\+\_\+\+READ\+\_\+\+DEVICE}}, \mbox{\hyperlink{usb_8h_source_l00168}{UT\+\_\+\+READ\+\_\+\+ENDPOINT}}, \mbox{\hyperlink{usb_8h_source_l00169}{UT\+\_\+\+WRITE\+\_\+\+DEVICE}}, \mbox{\hyperlink{usb_8h_source_l00171}{UT\+\_\+\+WRITE\+\_\+\+ENDPOINT}}, and \mbox{\hyperlink{usb__core_8h_source_l00141}{usb\+\_\+xfer\+::xroot}}.



Referenced by \mbox{\hyperlink{usb__handle__request_8c_source_l00218}{usb\+\_\+handle\+\_\+iface\+\_\+request()}}, and \mbox{\hyperlink{usb__handle__request_8c_source_l00090}{usb\+\_\+handle\+\_\+request\+\_\+callback()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_acd7ff252b93f3bd9e87d0f8b3eb3ffa5_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_acd7ff252b93f3bd9e87d0f8b3eb3ffa5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usb__handle__request_8c_adf57afdcfb59ed15ec3b8fbe73d5e889}\label{usb__handle__request_8c_adf57afdcfb59ed15ec3b8fbe73d5e889}} 
\index{usb\_handle\_request.c@{usb\_handle\_request.c}!usb\_handle\_request\_callback@{usb\_handle\_request\_callback}}
\index{usb\_handle\_request\_callback@{usb\_handle\_request\_callback}!usb\_handle\_request.c@{usb\_handle\_request.c}}
\doxysubsubsection{\texorpdfstring{usb\_handle\_request\_callback()}{usb\_handle\_request\_callback()}}
{\footnotesize\ttfamily void usb\+\_\+handle\+\_\+request\+\_\+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})}



Definition at line \mbox{\hyperlink{usb__handle__request_8c_source_l00090}{90}} of file \mbox{\hyperlink{usb__handle__request_8c_source}{usb\+\_\+handle\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb__transfer_8h_source_l00078}{usb\+\_\+xfer\+\_\+root\+::bus}}, \mbox{\hyperlink{usb__core_8h_source_l00092}{usb\+\_\+xfer\+\_\+flags\+\_\+int\+::control\+\_\+rem}}, \mbox{\hyperlink{usb__core_8h_source_l00179}{usb\+\_\+xfer\+::error}}, \mbox{\hyperlink{usb__core_8h_source_l00181}{usb\+\_\+xfer\+::flags}}, \mbox{\hyperlink{usb__core_8h_source_l00182}{usb\+\_\+xfer\+::flags\+\_\+int}}, \mbox{\hyperlink{usbdi_8h_source_l00196}{usb\+\_\+xfer\+\_\+flags\+::force\+\_\+short\+\_\+xfer}}, \mbox{\hyperlink{usbdi_8h_source_l00204}{usb\+\_\+xfer\+\_\+flags\+::manual\+\_\+status}}, \mbox{\hyperlink{usb__core_8h_source_l00162}{usb\+\_\+xfer\+::nframes}}, \mbox{\hyperlink{usbdi_8h_source_l00071}{USB\+\_\+\+ERR\+\_\+\+BAD\+\_\+\+CONTEXT}}, \mbox{\hyperlink{usbdi_8h_source_l00051}{USB\+\_\+\+ERR\+\_\+\+CANCELLED}}, \mbox{\hyperlink{usbdi_8h_source_l00515}{USB\+\_\+\+GET\+\_\+\+STATE}}, \mbox{\hyperlink{usb__handle__request_8c_source_l00467}{usb\+\_\+handle\+\_\+request()}}, \mbox{\hyperlink{usb__hub_8c_source_l02255}{usb\+\_\+needs\+\_\+explore()}}, \mbox{\hyperlink{usbdi_8h_source_l00502}{USB\+\_\+\+ST\+\_\+\+SETUP}}, \mbox{\hyperlink{usbdi_8h_source_l00503}{USB\+\_\+\+ST\+\_\+\+TRANSFERRED}}, \mbox{\hyperlink{usb__transfer_8c_source_l01719}{usbd\+\_\+transfer\+\_\+submit()}}, \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__core_8h_source_l00141}{usb\+\_\+xfer\+::xroot}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_adf57afdcfb59ed15ec3b8fbe73d5e889_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usb__handle__request_8c_a49bce512da7cbe3b77000bedd407cfd2}\label{usb__handle__request_8c_a49bce512da7cbe3b77000bedd407cfd2}} 
\index{usb\_handle\_request.c@{usb\_handle\_request.c}!usb\_handle\_set\_config@{usb\_handle\_set\_config}}
\index{usb\_handle\_set\_config@{usb\_handle\_set\_config}!usb\_handle\_request.c@{usb\_handle\_request.c}}
\doxysubsubsection{\texorpdfstring{usb\_handle\_set\_config()}{usb\_handle\_set\_config()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usb\+\_\+handle\+\_\+set\+\_\+config (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$}]{xfer,  }\item[{uint8\+\_\+t}]{conf\+\_\+no }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__handle__request_8c_source_l00149}{149}} of file \mbox{\hyperlink{usb__handle__request_8c_source}{usb\+\_\+handle\+\_\+request.\+c}}.



References \mbox{\hyperlink{umass_8c_source_l00179}{DPRINTF}}, \mbox{\hyperlink{usb__transfer_8h_source_l00079}{usb\+\_\+xfer\+\_\+root\+::udev}}, \mbox{\hyperlink{usbdi_8h_source_l00068}{USB\+\_\+\+ERR\+\_\+\+STALLED}}, \mbox{\hyperlink{usb_8h_source_l00076}{USB\+\_\+\+IFACE\+\_\+\+INDEX\+\_\+\+ANY}}, \mbox{\hyperlink{usb__device_8c_source_l01441}{usb\+\_\+probe\+\_\+and\+\_\+attach()}}, \mbox{\hyperlink{usb_8h_source_l00075}{USB\+\_\+\+UNCONFIG\+\_\+\+INDEX}}, \mbox{\hyperlink{usb_8h_source_l00391}{USB\+\_\+\+UNCONFIG\+\_\+\+NO}}, \mbox{\hyperlink{usb__core_8h_source_l00055}{USB\+\_\+\+XFER\+\_\+\+LOCK}}, \mbox{\hyperlink{usb__core_8h_source_l00056}{USB\+\_\+\+XFER\+\_\+\+UNLOCK}}, \mbox{\hyperlink{usb__device_8c_source_l02896}{usbd\+\_\+enum\+\_\+lock()}}, \mbox{\hyperlink{usb__device_8c_source_l02936}{usbd\+\_\+enum\+\_\+unlock()}}, \mbox{\hyperlink{usb__device_8c_source_l00672}{usbd\+\_\+set\+\_\+config\+\_\+index()}}, and \mbox{\hyperlink{usb__core_8h_source_l00141}{usb\+\_\+xfer\+::xroot}}.



Referenced by \mbox{\hyperlink{usb__handle__request_8c_source_l00467}{usb\+\_\+handle\+\_\+request()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_a49bce512da7cbe3b77000bedd407cfd2_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_a49bce512da7cbe3b77000bedd407cfd2_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usb__handle__request_8c_aae8242393a914fddecf1608a5d6bd2e7}\label{usb__handle__request_8c_aae8242393a914fddecf1608a5d6bd2e7}} 
\index{usb\_handle\_request.c@{usb\_handle\_request.c}!usb\_handle\_set\_stall@{usb\_handle\_set\_stall}}
\index{usb\_handle\_set\_stall@{usb\_handle\_set\_stall}!usb\_handle\_request.c@{usb\_handle\_request.c}}
\doxysubsubsection{\texorpdfstring{usb\_handle\_set\_stall()}{usb\_handle\_set\_stall()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\+\_\+error\+\_\+t}} usb\+\_\+handle\+\_\+set\+\_\+stall (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structusb__xfer}{usb\+\_\+xfer}} $\ast$}]{xfer,  }\item[{uint8\+\_\+t}]{ep,  }\item[{uint8\+\_\+t}]{do\+\_\+stall }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__handle__request_8c_source_l00385}{385}} of file \mbox{\hyperlink{usb__handle__request_8c_source}{usb\+\_\+handle\+\_\+request.\+c}}.



References \mbox{\hyperlink{usb__transfer_8h_source_l00079}{usb\+\_\+xfer\+\_\+root\+::udev}}, \mbox{\hyperlink{usb__core_8h_source_l00055}{USB\+\_\+\+XFER\+\_\+\+LOCK}}, \mbox{\hyperlink{usb__core_8h_source_l00056}{USB\+\_\+\+XFER\+\_\+\+UNLOCK}}, \mbox{\hyperlink{usb__device_8c_source_l00309}{usbd\+\_\+get\+\_\+ep\+\_\+by\+\_\+addr()}}, \mbox{\hyperlink{usb__device_8c_source_l01094}{usbd\+\_\+set\+\_\+endpoint\+\_\+stall()}}, and \mbox{\hyperlink{usb__core_8h_source_l00141}{usb\+\_\+xfer\+::xroot}}.



Referenced by \mbox{\hyperlink{usb__handle__request_8c_source_l00467}{usb\+\_\+handle\+\_\+request()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_aae8242393a914fddecf1608a5d6bd2e7_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d42/usb__handle__request_8c_aae8242393a914fddecf1608a5d6bd2e7_icgraph}
\end{center}
\end{figure}
