\hypertarget{usb__template__mtp_8c}{}\doxysection{dev/usb/template/usb\+\_\+template\+\_\+mtp.c File Reference}
\label{usb__template__mtp_8c}\index{dev/usb/template/usb\_template\_mtp.c@{dev/usb/template/usb\_template\_mtp.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/usb\+\_\+core.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+ioctl.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+util.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/template/usb\+\_\+template.\+h$>$}\newline
Include dependency graph for usb\+\_\+template\+\_\+mtp.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d4/dfc/usb__template__mtp_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{usb__template__mtp_8c_aa6049fa552af6d2d531303087cadecda}{MTP\+\_\+\+BREQUEST}}~0x08
\item 
\#define \mbox{\hyperlink{usb__template__mtp_8c_af9265b276ffb5b885ea599d559da63c1}{MTP\+\_\+\+DEFAULT\+\_\+\+VENDOR\+\_\+\+ID}}~\mbox{\hyperlink{usb__template_8h_a4eb1c883c2f66f7f4ae94383fd6e01e3}{USB\+\_\+\+TEMPLATE\+\_\+\+VENDOR}}
\item 
\#define \mbox{\hyperlink{usb__template__mtp_8c_a3ac62c40da8540e6abbdd454941afa8e}{MTP\+\_\+\+DEFAULT\+\_\+\+PRODUCT\+\_\+\+ID}}~0x27e2
\item 
\#define \mbox{\hyperlink{usb__template__mtp_8c_adb18c1a56e36eb127b790bcd482abd70}{MTP\+\_\+\+DEFAULT\+\_\+\+INTERFACE}}~\char`\"{}USB MTP Interface\char`\"{}
\item 
\#define \mbox{\hyperlink{usb__template__mtp_8c_a27964665896cb14cca2a7acb01fdfd6f}{MTP\+\_\+\+DEFAULT\+\_\+\+CONFIGURATION}}~\char`\"{}Default Config\char`\"{}
\item 
\#define \mbox{\hyperlink{usb__template__mtp_8c_a35b1ab1486a17da9915f41a57aec9d60}{MTP\+\_\+\+DEFAULT\+\_\+\+MANUFACTURER}}~\mbox{\hyperlink{usb__template_8h_a1a5f2918512e51fd0164ca8208965e24}{USB\+\_\+\+TEMPLATE\+\_\+\+MANUFACTURER}}
\item 
\#define \mbox{\hyperlink{usb__template__mtp_8c_afc6c83909847e4f2118d9bf0aaa87dca}{MTP\+\_\+\+DEFAULT\+\_\+\+PRODUCT}}~\char`\"{}USB MTP\char`\"{}
\item 
\#define \mbox{\hyperlink{usb__template__mtp_8c_af62eb196606530d8f6c4af91312bbd5f}{MTP\+\_\+\+DEFAULT\+\_\+\+SERIAL\+\_\+\+NUMBER}}~\char`\"{}June 2008\char`\"{}
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \{ \newline
\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a793591501ed1c4ce7d42f3927f0ed684}{MTP\+\_\+\+LANG\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9ad41fd75bd52c944a82207c8d7a93e8d2}{MTP\+\_\+\+INTERFACE\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9afe44ad5a67eceed468fe2c4c328be9f9}{MTP\+\_\+\+CONFIGURATION\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a8c4618a285550bec078badd3951fa3ad}{MTP\+\_\+\+MANUFACTURER\+\_\+\+INDEX}}
, \newline
\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a1f80803b85b7e694607d5c4d15c71601}{MTP\+\_\+\+PRODUCT\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9af2ee9fcdc358911cb2ce3c1aeb2efe8a}{MTP\+\_\+\+SERIAL\+\_\+\+NUMBER\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a55598f151642f817ae6117f8374952fd}{MTP\+\_\+\+MAX\+\_\+\+INDEX}}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static const void $\ast$ \mbox{\hyperlink{usb__template__mtp_8c_a47610d11158576cbdcf5f357c877a9ee}{mtp\+\_\+get\+\_\+vendor\+\_\+desc}} (const struct \mbox{\hyperlink{structusb__device__request}{usb\+\_\+device\+\_\+request}} $\ast$\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, uint16\+\_\+t $\ast$\mbox{\hyperlink{usb__if_8m_aaba3806a5156b2c2a6d6f95f0d95ed03}{plen}})
\item 
static const void $\ast$ \mbox{\hyperlink{usb__template__mtp_8c_af4abb4119cd87016786cb198964b040e}{mtp\+\_\+get\+\_\+string\+\_\+desc}} (uint16\+\_\+t lang\+\_\+id, uint8\+\_\+t string\+\_\+index)
\item 
static void \mbox{\hyperlink{usb__template__mtp_8c_ad53e2c0eb59dbdd89b48c28e48509601}{mtp\+\_\+init}} (void $\ast$arg \+\_\+\+\_\+unused)
\item 
static void \mbox{\hyperlink{usb__template__mtp_8c_a7191e4192e12019cbff4d7ca31832db2}{mtp\+\_\+uninit}} (void $\ast$arg \+\_\+\+\_\+unused)
\item 
\mbox{\hyperlink{usb__template__mtp_8c_a950ebb598ad52bb933e6611c1c8bd009}{SYSINIT}} (\mbox{\hyperlink{usb__template__mtp_8c_ad53e2c0eb59dbdd89b48c28e48509601}{mtp\+\_\+init}}, SI\+\_\+\+SUB\+\_\+\+LOCK, SI\+\_\+\+ORDER\+\_\+\+FIRST, \mbox{\hyperlink{usb__template__mtp_8c_ad53e2c0eb59dbdd89b48c28e48509601}{mtp\+\_\+init}}, NULL)
\item 
\mbox{\hyperlink{usb__template__mtp_8c_a58d68802472b005fe87a842ab84b2f6b}{SYSUNINIT}} (\mbox{\hyperlink{usb__template__mtp_8c_a7191e4192e12019cbff4d7ca31832db2}{mtp\+\_\+uninit}}, SI\+\_\+\+SUB\+\_\+\+LOCK, SI\+\_\+\+ORDER\+\_\+\+FIRST, \mbox{\hyperlink{usb__template__mtp_8c_a7191e4192e12019cbff4d7ca31832db2}{mtp\+\_\+uninit}}, NULL)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__mtp_8c_a1999c2dbc71d72c6701a0be912cf1c27}{mtp\+\_\+interface}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__mtp_8c_ae9c85aa23e4f0f78a8b47ec5763b7c8d}{mtp\+\_\+configuration}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__mtp_8c_a36b5db3c300ce23fab04d559dccacd01}{mtp\+\_\+manufacturer}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__mtp_8c_a8a8582c117a4e59993c3991ec7d591a6}{mtp\+\_\+product}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__mtp_8c_ae72d244176d64be94d17af6e2f8d3573}{mtp\+\_\+serial\+\_\+number}}
\item 
static struct sysctl\+\_\+ctx\+\_\+list \mbox{\hyperlink{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}{mtp\+\_\+ctx\+\_\+list}}
\item 
static \mbox{\hyperlink{usb__template_8h_ab56131b3dcadea9f2be25f942a4f2af7}{usb\+\_\+temp\+\_\+get\+\_\+string\+\_\+desc\+\_\+t}} \mbox{\hyperlink{usb__template__mtp_8c_a06483d26c5ffd28da8a924b559344b8a}{mtp\+\_\+get\+\_\+string\+\_\+desc}}
\item 
static \mbox{\hyperlink{usb__template_8h_ab111925929cf0aecdc4029bf4fe9a869}{usb\+\_\+temp\+\_\+get\+\_\+vendor\+\_\+desc\+\_\+t}} \mbox{\hyperlink{usb__template__mtp_8c_adc81d369b6c41d431639effe46fcd7e6}{mtp\+\_\+get\+\_\+vendor\+\_\+desc}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__packet__size}{usb\+\_\+temp\+\_\+packet\+\_\+size}} \mbox{\hyperlink{usb__template__mtp_8c_a51299a5ce4a0ea953f804633189e181c}{bulk\+\_\+mps}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__packet__size}{usb\+\_\+temp\+\_\+packet\+\_\+size}} \mbox{\hyperlink{usb__template__mtp_8c_a9293bd96bf9db372f9e1778dd40c0c6d}{intr\+\_\+mps}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} \mbox{\hyperlink{usb__template__mtp_8c_a7875b7badc71c3105e10cb98eb1e2d38}{bulk\+\_\+out\+\_\+ep}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} \mbox{\hyperlink{usb__template__mtp_8c_aa2a3d6cfa99545b30545f4521bec9db0}{intr\+\_\+in\+\_\+ep}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} \mbox{\hyperlink{usb__template__mtp_8c_a87d44dd5841ee9dfecb83a292752acb8}{bulk\+\_\+in\+\_\+ep}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} $\ast$ \mbox{\hyperlink{usb__template__mtp_8c_a431b17bd2ad8a09a81fa3550a41ca4a5}{mtp\+\_\+data\+\_\+endpoints}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structusb__temp__interface__desc}{usb\+\_\+temp\+\_\+interface\+\_\+desc}} \mbox{\hyperlink{usb__template__mtp_8c_a0ef4fe0b36375dbb8f0dfa014065636b}{mtp\+\_\+data\+\_\+interface}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__interface__desc}{usb\+\_\+temp\+\_\+interface\+\_\+desc}} $\ast$ \mbox{\hyperlink{usb__template__mtp_8c_afdfb967b403932bdcb242524f4b8edcc}{mtp\+\_\+interfaces}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structusb__temp__config__desc}{usb\+\_\+temp\+\_\+config\+\_\+desc}} \mbox{\hyperlink{usb__template__mtp_8c_a04f26377ccd1dedfc62ebbec4835fca0}{mtp\+\_\+config\+\_\+desc}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__config__desc}{usb\+\_\+temp\+\_\+config\+\_\+desc}} $\ast$ \mbox{\hyperlink{usb__template__mtp_8c_a943699ea767a90f6d782a573a70950a3}{mtp\+\_\+configs}} \mbox{[}$\,$\mbox{]}
\item 
struct \mbox{\hyperlink{structusb__temp__device__desc}{usb\+\_\+temp\+\_\+device\+\_\+desc}} \mbox{\hyperlink{usb__template__mtp_8c_a2cd386591316db266679b0682c489193}{usb\+\_\+template\+\_\+mtp}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{usb__template__mtp_8c_aa6049fa552af6d2d531303087cadecda}\label{usb__template__mtp_8c_aa6049fa552af6d2d531303087cadecda}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_BREQUEST@{MTP\_BREQUEST}}
\index{MTP\_BREQUEST@{MTP\_BREQUEST}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{MTP\_BREQUEST}{MTP\_BREQUEST}}
{\footnotesize\ttfamily \#define MTP\+\_\+\+BREQUEST~0x08}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00076}{76}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a27964665896cb14cca2a7acb01fdfd6f}\label{usb__template__mtp_8c_a27964665896cb14cca2a7acb01fdfd6f}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_DEFAULT\_CONFIGURATION@{MTP\_DEFAULT\_CONFIGURATION}}
\index{MTP\_DEFAULT\_CONFIGURATION@{MTP\_DEFAULT\_CONFIGURATION}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{MTP\_DEFAULT\_CONFIGURATION}{MTP\_DEFAULT\_CONFIGURATION}}
{\footnotesize\ttfamily \#define MTP\+\_\+\+DEFAULT\+\_\+\+CONFIGURATION~\char`\"{}Default Config\char`\"{}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00091}{91}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_adb18c1a56e36eb127b790bcd482abd70}\label{usb__template__mtp_8c_adb18c1a56e36eb127b790bcd482abd70}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_DEFAULT\_INTERFACE@{MTP\_DEFAULT\_INTERFACE}}
\index{MTP\_DEFAULT\_INTERFACE@{MTP\_DEFAULT\_INTERFACE}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{MTP\_DEFAULT\_INTERFACE}{MTP\_DEFAULT\_INTERFACE}}
{\footnotesize\ttfamily \#define MTP\+\_\+\+DEFAULT\+\_\+\+INTERFACE~\char`\"{}USB MTP Interface\char`\"{}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00090}{90}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a35b1ab1486a17da9915f41a57aec9d60}\label{usb__template__mtp_8c_a35b1ab1486a17da9915f41a57aec9d60}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_DEFAULT\_MANUFACTURER@{MTP\_DEFAULT\_MANUFACTURER}}
\index{MTP\_DEFAULT\_MANUFACTURER@{MTP\_DEFAULT\_MANUFACTURER}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{MTP\_DEFAULT\_MANUFACTURER}{MTP\_DEFAULT\_MANUFACTURER}}
{\footnotesize\ttfamily \#define MTP\+\_\+\+DEFAULT\+\_\+\+MANUFACTURER~\mbox{\hyperlink{usb__template_8h_a1a5f2918512e51fd0164ca8208965e24}{USB\+\_\+\+TEMPLATE\+\_\+\+MANUFACTURER}}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00092}{92}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_afc6c83909847e4f2118d9bf0aaa87dca}\label{usb__template__mtp_8c_afc6c83909847e4f2118d9bf0aaa87dca}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_DEFAULT\_PRODUCT@{MTP\_DEFAULT\_PRODUCT}}
\index{MTP\_DEFAULT\_PRODUCT@{MTP\_DEFAULT\_PRODUCT}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{MTP\_DEFAULT\_PRODUCT}{MTP\_DEFAULT\_PRODUCT}}
{\footnotesize\ttfamily \#define MTP\+\_\+\+DEFAULT\+\_\+\+PRODUCT~\char`\"{}USB MTP\char`\"{}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00093}{93}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a3ac62c40da8540e6abbdd454941afa8e}\label{usb__template__mtp_8c_a3ac62c40da8540e6abbdd454941afa8e}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_DEFAULT\_PRODUCT\_ID@{MTP\_DEFAULT\_PRODUCT\_ID}}
\index{MTP\_DEFAULT\_PRODUCT\_ID@{MTP\_DEFAULT\_PRODUCT\_ID}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{MTP\_DEFAULT\_PRODUCT\_ID}{MTP\_DEFAULT\_PRODUCT\_ID}}
{\footnotesize\ttfamily \#define MTP\+\_\+\+DEFAULT\+\_\+\+PRODUCT\+\_\+\+ID~0x27e2}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00089}{89}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_af62eb196606530d8f6c4af91312bbd5f}\label{usb__template__mtp_8c_af62eb196606530d8f6c4af91312bbd5f}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_DEFAULT\_SERIAL\_NUMBER@{MTP\_DEFAULT\_SERIAL\_NUMBER}}
\index{MTP\_DEFAULT\_SERIAL\_NUMBER@{MTP\_DEFAULT\_SERIAL\_NUMBER}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{MTP\_DEFAULT\_SERIAL\_NUMBER}{MTP\_DEFAULT\_SERIAL\_NUMBER}}
{\footnotesize\ttfamily \#define MTP\+\_\+\+DEFAULT\+\_\+\+SERIAL\+\_\+\+NUMBER~\char`\"{}June 2008\char`\"{}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00094}{94}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_af9265b276ffb5b885ea599d559da63c1}\label{usb__template__mtp_8c_af9265b276ffb5b885ea599d559da63c1}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_DEFAULT\_VENDOR\_ID@{MTP\_DEFAULT\_VENDOR\_ID}}
\index{MTP\_DEFAULT\_VENDOR\_ID@{MTP\_DEFAULT\_VENDOR\_ID}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{MTP\_DEFAULT\_VENDOR\_ID}{MTP\_DEFAULT\_VENDOR\_ID}}
{\footnotesize\ttfamily \#define MTP\+\_\+\+DEFAULT\+\_\+\+VENDOR\+\_\+\+ID~\mbox{\hyperlink{usb__template_8h_a4eb1c883c2f66f7f4ae94383fd6e01e3}{USB\+\_\+\+TEMPLATE\+\_\+\+VENDOR}}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00088}{88}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.



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

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{MTP\_LANG\_INDEX@{MTP\_LANG\_INDEX}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_LANG\_INDEX@{MTP\_LANG\_INDEX}}}\mbox{\Hypertarget{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a793591501ed1c4ce7d42f3927f0ed684}\label{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a793591501ed1c4ce7d42f3927f0ed684}} 
MTP\+\_\+\+LANG\+\_\+\+INDEX&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{MTP\_INTERFACE\_INDEX@{MTP\_INTERFACE\_INDEX}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_INTERFACE\_INDEX@{MTP\_INTERFACE\_INDEX}}}\mbox{\Hypertarget{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9ad41fd75bd52c944a82207c8d7a93e8d2}\label{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9ad41fd75bd52c944a82207c8d7a93e8d2}} 
MTP\+\_\+\+INTERFACE\+\_\+\+INDEX&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{MTP\_CONFIGURATION\_INDEX@{MTP\_CONFIGURATION\_INDEX}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_CONFIGURATION\_INDEX@{MTP\_CONFIGURATION\_INDEX}}}\mbox{\Hypertarget{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9afe44ad5a67eceed468fe2c4c328be9f9}\label{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9afe44ad5a67eceed468fe2c4c328be9f9}} 
MTP\+\_\+\+CONFIGURATION\+\_\+\+INDEX&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{MTP\_MANUFACTURER\_INDEX@{MTP\_MANUFACTURER\_INDEX}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_MANUFACTURER\_INDEX@{MTP\_MANUFACTURER\_INDEX}}}\mbox{\Hypertarget{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a8c4618a285550bec078badd3951fa3ad}\label{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a8c4618a285550bec078badd3951fa3ad}} 
MTP\+\_\+\+MANUFACTURER\+\_\+\+INDEX&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{MTP\_PRODUCT\_INDEX@{MTP\_PRODUCT\_INDEX}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_PRODUCT\_INDEX@{MTP\_PRODUCT\_INDEX}}}\mbox{\Hypertarget{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a1f80803b85b7e694607d5c4d15c71601}\label{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a1f80803b85b7e694607d5c4d15c71601}} 
MTP\+\_\+\+PRODUCT\+\_\+\+INDEX&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{MTP\_SERIAL\_NUMBER\_INDEX@{MTP\_SERIAL\_NUMBER\_INDEX}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_SERIAL\_NUMBER\_INDEX@{MTP\_SERIAL\_NUMBER\_INDEX}}}\mbox{\Hypertarget{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9af2ee9fcdc358911cb2ce3c1aeb2efe8a}\label{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9af2ee9fcdc358911cb2ce3c1aeb2efe8a}} 
MTP\+\_\+\+SERIAL\+\_\+\+NUMBER\+\_\+\+INDEX&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{MTP\_MAX\_INDEX@{MTP\_MAX\_INDEX}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!MTP\_MAX\_INDEX@{MTP\_MAX\_INDEX}}}\mbox{\Hypertarget{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a55598f151642f817ae6117f8374952fd}\label{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a55598f151642f817ae6117f8374952fd}} 
MTP\+\_\+\+MAX\+\_\+\+INDEX&\\
\hline

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00078}{78}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{usb__template__mtp_8c_af4abb4119cd87016786cb198964b040e}\label{usb__template__mtp_8c_af4abb4119cd87016786cb198964b040e}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_get\_string\_desc@{mtp\_get\_string\_desc}}
\index{mtp\_get\_string\_desc@{mtp\_get\_string\_desc}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_get\_string\_desc()}{mtp\_get\_string\_desc()}}
{\footnotesize\ttfamily static const void $\ast$ mtp\+\_\+get\+\_\+string\+\_\+desc (\begin{DoxyParamCaption}\item[{uint16\+\_\+t}]{lang\+\_\+id,  }\item[{uint8\+\_\+t}]{string\+\_\+index }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00231}{231}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.



References \mbox{\hyperlink{usb__template__mtp_8c_source_l00076}{MTP\+\_\+\+BREQUEST}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00097}{mtp\+\_\+configuration}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00081}{MTP\+\_\+\+CONFIGURATION\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00096}{mtp\+\_\+interface}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00080}{MTP\+\_\+\+INTERFACE\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00079}{MTP\+\_\+\+LANG\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00098}{mtp\+\_\+manufacturer}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00082}{MTP\+\_\+\+MANUFACTURER\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00085}{MTP\+\_\+\+MAX\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00099}{mtp\+\_\+product}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00083}{MTP\+\_\+\+PRODUCT\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00100}{mtp\+\_\+serial\+\_\+number}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00084}{MTP\+\_\+\+SERIAL\+\_\+\+NUMBER\+\_\+\+INDEX}}, and \mbox{\hyperlink{usb__core_8c_source_l00063}{usb\+\_\+string\+\_\+lang\+\_\+en}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a47610d11158576cbdcf5f357c877a9ee}\label{usb__template__mtp_8c_a47610d11158576cbdcf5f357c877a9ee}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_get\_vendor\_desc@{mtp\_get\_vendor\_desc}}
\index{mtp\_get\_vendor\_desc@{mtp\_get\_vendor\_desc}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_get\_vendor\_desc()}{mtp\_get\_vendor\_desc()}}
{\footnotesize\ttfamily static const void $\ast$ mtp\+\_\+get\+\_\+vendor\+\_\+desc (\begin{DoxyParamCaption}\item[{const struct \mbox{\hyperlink{structusb__device__request}{usb\+\_\+device\+\_\+request}} $\ast$}]{req,  }\item[{uint16\+\_\+t $\ast$}]{plen }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00200}{200}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.



References \mbox{\hyperlink{usb__template__mtp_8c_source_l00076}{MTP\+\_\+\+BREQUEST}}, \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}, and \mbox{\hyperlink{usb_8h_source_l00180}{UT\+\_\+\+READ\+\_\+\+VENDOR\+\_\+\+DEVICE}}.

\mbox{\Hypertarget{usb__template__mtp_8c_ad53e2c0eb59dbdd89b48c28e48509601}\label{usb__template__mtp_8c_ad53e2c0eb59dbdd89b48c28e48509601}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_init@{mtp\_init}}
\index{mtp\_init@{mtp\_init}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_init()}{mtp\_init()}}
{\footnotesize\ttfamily static void mtp\+\_\+init (\begin{DoxyParamCaption}\item[{void $\ast$arg}]{\+\_\+\+\_\+unused }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00268}{268}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.



References \mbox{\hyperlink{usb__template_8h_source_l00090}{usb\+\_\+temp\+\_\+device\+\_\+desc\+::id\+Product}}, \mbox{\hyperlink{usb__template_8h_source_l00089}{usb\+\_\+temp\+\_\+device\+\_\+desc\+::id\+Vendor}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00097}{mtp\+\_\+configuration}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00102}{mtp\+\_\+ctx\+\_\+list}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00091}{MTP\+\_\+\+DEFAULT\+\_\+\+CONFIGURATION}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00090}{MTP\+\_\+\+DEFAULT\+\_\+\+INTERFACE}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00092}{MTP\+\_\+\+DEFAULT\+\_\+\+MANUFACTURER}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00093}{MTP\+\_\+\+DEFAULT\+\_\+\+PRODUCT}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00094}{MTP\+\_\+\+DEFAULT\+\_\+\+SERIAL\+\_\+\+NUMBER}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00096}{mtp\+\_\+interface}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00098}{mtp\+\_\+manufacturer}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00099}{mtp\+\_\+product}}, \mbox{\hyperlink{usb__template__mtp_8c_source_l00100}{mtp\+\_\+serial\+\_\+number}}, \mbox{\hyperlink{usb__util_8c_source_l00193}{usb\+\_\+make\+\_\+str\+\_\+desc()}}, \mbox{\hyperlink{usb__ioctl_8h_source_l00054}{USB\+\_\+\+TEMP\+\_\+\+MTP}}, \mbox{\hyperlink{usb__template_8c_source_l00173}{usb\+\_\+temp\+\_\+sysctl()}}, and \mbox{\hyperlink{usb__template__mtp_8c_source_l00177}{usb\+\_\+template\+\_\+mtp}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/d15/usb__template__mtp_8c_ad53e2c0eb59dbdd89b48c28e48509601_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{usb__template__mtp_8c_a7191e4192e12019cbff4d7ca31832db2}\label{usb__template__mtp_8c_a7191e4192e12019cbff4d7ca31832db2}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_uninit@{mtp\_uninit}}
\index{mtp\_uninit@{mtp\_uninit}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_uninit()}{mtp\_uninit()}}
{\footnotesize\ttfamily static void mtp\+\_\+uninit (\begin{DoxyParamCaption}\item[{void $\ast$arg}]{\+\_\+\+\_\+unused }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00322}{322}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.



References \mbox{\hyperlink{usb__template__mtp_8c_source_l00102}{mtp\+\_\+ctx\+\_\+list}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a950ebb598ad52bb933e6611c1c8bd009}\label{usb__template__mtp_8c_a950ebb598ad52bb933e6611c1c8bd009}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!SYSINIT@{SYSINIT}}
\index{SYSINIT@{SYSINIT}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{SYSINIT()}{SYSINIT()}}
{\footnotesize\ttfamily SYSINIT (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{usb__template__mtp_8c_ad53e2c0eb59dbdd89b48c28e48509601}{mtp\+\_\+init}}}]{,  }\item[{SI\+\_\+\+SUB\+\_\+\+LOCK}]{,  }\item[{SI\+\_\+\+ORDER\+\_\+\+FIRST}]{,  }\item[{\mbox{\hyperlink{usb__template__mtp_8c_ad53e2c0eb59dbdd89b48c28e48509601}{mtp\+\_\+init}}}]{,  }\item[{NULL}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{usb__template__mtp_8c_a58d68802472b005fe87a842ab84b2f6b}\label{usb__template__mtp_8c_a58d68802472b005fe87a842ab84b2f6b}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!SYSUNINIT@{SYSUNINIT}}
\index{SYSUNINIT@{SYSUNINIT}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{SYSUNINIT()}{SYSUNINIT()}}
{\footnotesize\ttfamily SYSUNINIT (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{usb__template__mtp_8c_a7191e4192e12019cbff4d7ca31832db2}{mtp\+\_\+uninit}}}]{,  }\item[{SI\+\_\+\+SUB\+\_\+\+LOCK}]{,  }\item[{SI\+\_\+\+ORDER\+\_\+\+FIRST}]{,  }\item[{\mbox{\hyperlink{usb__template__mtp_8c_a7191e4192e12019cbff4d7ca31832db2}{mtp\+\_\+uninit}}}]{,  }\item[{NULL}]{ }\end{DoxyParamCaption})}



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{usb__template__mtp_8c_a87d44dd5841ee9dfecb83a292752acb8}\label{usb__template__mtp_8c_a87d44dd5841ee9dfecb83a292752acb8}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!bulk\_in\_ep@{bulk\_in\_ep}}
\index{bulk\_in\_ep@{bulk\_in\_ep}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{bulk\_in\_ep}{bulk\_in\_ep}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} bulk\+\_\+in\+\_\+ep\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .pPacketSize = \&\mbox{\hyperlink{usb__template__mtp_8c_a51299a5ce4a0ea953f804633189e181c}{bulk\_mps}},}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{        .bEndpointAddress = \mbox{\hyperlink{usb_8h_a72bb077a860132c175c166f344c75893}{UE\_DIR\_IN}},}
\DoxyCodeLine{}
\DoxyCodeLine{        .bmAttributes = \mbox{\hyperlink{usb_8h_a25240fc009aa67bb7a2b635d2e9401e4}{UE\_BULK}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00135}{135}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a51299a5ce4a0ea953f804633189e181c}\label{usb__template__mtp_8c_a51299a5ce4a0ea953f804633189e181c}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!bulk\_mps@{bulk\_mps}}
\index{bulk\_mps@{bulk\_mps}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{bulk\_mps}{bulk\_mps}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__packet__size}{usb\+\_\+temp\+\_\+packet\+\_\+size}} bulk\+\_\+mps\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .mps[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa0f17d0b9928086c6114fea73e08f1780}{USB\_SPEED\_FULL}}] = 64,}
\DoxyCodeLine{        .mps[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa57eeede6d769b09c01ac9c9c62fef8c9}{USB\_SPEED\_HIGH}}] = 512,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00109}{109}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a7875b7badc71c3105e10cb98eb1e2d38}\label{usb__template__mtp_8c_a7875b7badc71c3105e10cb98eb1e2d38}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!bulk\_out\_ep@{bulk\_out\_ep}}
\index{bulk\_out\_ep@{bulk\_out\_ep}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{bulk\_out\_ep}{bulk\_out\_ep}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} bulk\+\_\+out\+\_\+ep\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .pPacketSize = \&\mbox{\hyperlink{usb__template__mtp_8c_a51299a5ce4a0ea953f804633189e181c}{bulk\_mps}},}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{        .bEndpointAddress = \mbox{\hyperlink{usb_8h_a9a98e1bc9388db2ab5213e9d6496e851}{UE\_DIR\_OUT}},}
\DoxyCodeLine{}
\DoxyCodeLine{        .bmAttributes = \mbox{\hyperlink{usb_8h_a25240fc009aa67bb7a2b635d2e9401e4}{UE\_BULK}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00119}{119}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_aa2a3d6cfa99545b30545f4521bec9db0}\label{usb__template__mtp_8c_aa2a3d6cfa99545b30545f4521bec9db0}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!intr\_in\_ep@{intr\_in\_ep}}
\index{intr\_in\_ep@{intr\_in\_ep}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{intr\_in\_ep}{intr\_in\_ep}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} intr\+\_\+in\+\_\+ep\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .pPacketSize = \&\mbox{\hyperlink{usb__template__mtp_8c_a9293bd96bf9db372f9e1778dd40c0c6d}{intr\_mps}},}
\DoxyCodeLine{        .bEndpointAddress = \mbox{\hyperlink{usb_8h_a72bb077a860132c175c166f344c75893}{UE\_DIR\_IN}},}
\DoxyCodeLine{        .bmAttributes = \mbox{\hyperlink{usb_8h_a01e28e87ad16f6dfffefc6ccab08baed}{UE\_INTERRUPT}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00129}{129}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a9293bd96bf9db372f9e1778dd40c0c6d}\label{usb__template__mtp_8c_a9293bd96bf9db372f9e1778dd40c0c6d}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!intr\_mps@{intr\_mps}}
\index{intr\_mps@{intr\_mps}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{intr\_mps}{intr\_mps}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__packet__size}{usb\+\_\+temp\+\_\+packet\+\_\+size}} intr\+\_\+mps\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .mps[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa0f17d0b9928086c6114fea73e08f1780}{USB\_SPEED\_FULL}}] = 64,}
\DoxyCodeLine{        .mps[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa57eeede6d769b09c01ac9c9c62fef8c9}{USB\_SPEED\_HIGH}}] = 64,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00114}{114}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a04f26377ccd1dedfc62ebbec4835fca0}\label{usb__template__mtp_8c_a04f26377ccd1dedfc62ebbec4835fca0}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_config\_desc@{mtp\_config\_desc}}
\index{mtp\_config\_desc@{mtp\_config\_desc}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_config\_desc}{mtp\_config\_desc}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__config__desc}{usb\+\_\+temp\+\_\+config\+\_\+desc}} mtp\+\_\+config\+\_\+desc\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .ppIfaceDesc = \mbox{\hyperlink{usb__template__mtp_8c_afdfb967b403932bdcb242524f4b8edcc}{mtp\_interfaces}},}
\DoxyCodeLine{        .bmAttributes = 0,}
\DoxyCodeLine{        .bMaxPower = 0,}
\DoxyCodeLine{        .iConfiguration = \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9afe44ad5a67eceed468fe2c4c328be9f9}{MTP\_CONFIGURATION\_INDEX}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00165}{165}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a943699ea767a90f6d782a573a70950a3}\label{usb__template__mtp_8c_a943699ea767a90f6d782a573a70950a3}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_configs@{mtp\_configs}}
\index{mtp\_configs@{mtp\_configs}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_configs}{mtp\_configs}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__config__desc}{usb\+\_\+temp\+\_\+config\+\_\+desc}}$\ast$ mtp\+\_\+configs\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&\mbox{\hyperlink{usb__template__mtp_8c_a04f26377ccd1dedfc62ebbec4835fca0}{mtp\_config\_desc}},}
\DoxyCodeLine{        NULL,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00172}{172}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_ae9c85aa23e4f0f78a8b47ec5763b7c8d}\label{usb__template__mtp_8c_ae9c85aa23e4f0f78a8b47ec5763b7c8d}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_configuration@{mtp\_configuration}}
\index{mtp\_configuration@{mtp\_configuration}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_configuration}{mtp\_configuration}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} mtp\+\_\+configuration\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00097}{97}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__mtp_8c_source_l00231}{mtp\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__mtp_8c_source_l00268}{mtp\+\_\+init()}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}\label{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_ctx\_list@{mtp\_ctx\_list}}
\index{mtp\_ctx\_list@{mtp\_ctx\_list}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_ctx\_list}{mtp\_ctx\_list}}
{\footnotesize\ttfamily struct sysctl\+\_\+ctx\+\_\+list mtp\+\_\+ctx\+\_\+list\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00102}{102}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__mtp_8c_source_l00268}{mtp\+\_\+init()}}, and \mbox{\hyperlink{usb__template__mtp_8c_source_l00322}{mtp\+\_\+uninit()}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a431b17bd2ad8a09a81fa3550a41ca4a5}\label{usb__template__mtp_8c_a431b17bd2ad8a09a81fa3550a41ca4a5}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_data\_endpoints@{mtp\_data\_endpoints}}
\index{mtp\_data\_endpoints@{mtp\_data\_endpoints}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_data\_endpoints}{mtp\_data\_endpoints}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}}$\ast$ mtp\+\_\+data\+\_\+endpoints\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&\mbox{\hyperlink{usb__template__mtp_8c_a87d44dd5841ee9dfecb83a292752acb8}{bulk\_in\_ep}},}
\DoxyCodeLine{        \&\mbox{\hyperlink{usb__template__mtp_8c_a7875b7badc71c3105e10cb98eb1e2d38}{bulk\_out\_ep}},}
\DoxyCodeLine{        \&\mbox{\hyperlink{usb__template__mtp_8c_aa2a3d6cfa99545b30545f4521bec9db0}{intr\_in\_ep}},}
\DoxyCodeLine{        NULL,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00145}{145}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a0ef4fe0b36375dbb8f0dfa014065636b}\label{usb__template__mtp_8c_a0ef4fe0b36375dbb8f0dfa014065636b}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_data\_interface@{mtp\_data\_interface}}
\index{mtp\_data\_interface@{mtp\_data\_interface}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_data\_interface}{mtp\_data\_interface}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__interface__desc}{usb\+\_\+temp\+\_\+interface\+\_\+desc}} mtp\+\_\+data\+\_\+interface\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .ppEndpoints = \mbox{\hyperlink{usb__template__mtp_8c_a431b17bd2ad8a09a81fa3550a41ca4a5}{mtp\_data\_endpoints}},}
\DoxyCodeLine{        .bInterfaceClass = \mbox{\hyperlink{usb_8h_adf1edf972de172ccbade25eab597e107}{UICLASS\_IMAGE}},}
\DoxyCodeLine{        .bInterfaceSubClass = \mbox{\hyperlink{usb_8h_a0f66f91bc2be1621fa5c8690ff415e7f}{UISUBCLASS\_SIC}},     }
\DoxyCodeLine{        .bInterfaceProtocol = 1,        }
\DoxyCodeLine{        .iInterface = \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9ad41fd75bd52c944a82207c8d7a93e8d2}{MTP\_INTERFACE\_INDEX}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00152}{152}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a06483d26c5ffd28da8a924b559344b8a}\label{usb__template__mtp_8c_a06483d26c5ffd28da8a924b559344b8a}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_get\_string\_desc@{mtp\_get\_string\_desc}}
\index{mtp\_get\_string\_desc@{mtp\_get\_string\_desc}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_get\_string\_desc}{mtp\_get\_string\_desc}}
{\footnotesize\ttfamily \mbox{\hyperlink{usb__template_8h_ab56131b3dcadea9f2be25f942a4f2af7}{usb\+\_\+temp\+\_\+get\+\_\+string\+\_\+desc\+\_\+t}} mtp\+\_\+get\+\_\+string\+\_\+desc\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00106}{106}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_adc81d369b6c41d431639effe46fcd7e6}\label{usb__template__mtp_8c_adc81d369b6c41d431639effe46fcd7e6}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_get\_vendor\_desc@{mtp\_get\_vendor\_desc}}
\index{mtp\_get\_vendor\_desc@{mtp\_get\_vendor\_desc}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_get\_vendor\_desc}{mtp\_get\_vendor\_desc}}
{\footnotesize\ttfamily \mbox{\hyperlink{usb__template_8h_ab111925929cf0aecdc4029bf4fe9a869}{usb\+\_\+temp\+\_\+get\+\_\+vendor\+\_\+desc\+\_\+t}} mtp\+\_\+get\+\_\+vendor\+\_\+desc\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00107}{107}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a1999c2dbc71d72c6701a0be912cf1c27}\label{usb__template__mtp_8c_a1999c2dbc71d72c6701a0be912cf1c27}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_interface@{mtp\_interface}}
\index{mtp\_interface@{mtp\_interface}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_interface}{mtp\_interface}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} mtp\+\_\+interface\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00096}{96}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__mtp_8c_source_l00231}{mtp\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__mtp_8c_source_l00268}{mtp\+\_\+init()}}.

\mbox{\Hypertarget{usb__template__mtp_8c_afdfb967b403932bdcb242524f4b8edcc}\label{usb__template__mtp_8c_afdfb967b403932bdcb242524f4b8edcc}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_interfaces@{mtp\_interfaces}}
\index{mtp\_interfaces@{mtp\_interfaces}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_interfaces}{mtp\_interfaces}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__interface__desc}{usb\+\_\+temp\+\_\+interface\+\_\+desc}}$\ast$ mtp\+\_\+interfaces\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&\mbox{\hyperlink{usb__template__mtp_8c_a0ef4fe0b36375dbb8f0dfa014065636b}{mtp\_data\_interface}},}
\DoxyCodeLine{        NULL,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00160}{160}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a36b5db3c300ce23fab04d559dccacd01}\label{usb__template__mtp_8c_a36b5db3c300ce23fab04d559dccacd01}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_manufacturer@{mtp\_manufacturer}}
\index{mtp\_manufacturer@{mtp\_manufacturer}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_manufacturer}{mtp\_manufacturer}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} mtp\+\_\+manufacturer\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00098}{98}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__mtp_8c_source_l00231}{mtp\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__mtp_8c_source_l00268}{mtp\+\_\+init()}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a8a8582c117a4e59993c3991ec7d591a6}\label{usb__template__mtp_8c_a8a8582c117a4e59993c3991ec7d591a6}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_product@{mtp\_product}}
\index{mtp\_product@{mtp\_product}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_product}{mtp\_product}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} mtp\+\_\+product\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00099}{99}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__mtp_8c_source_l00231}{mtp\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__mtp_8c_source_l00268}{mtp\+\_\+init()}}.

\mbox{\Hypertarget{usb__template__mtp_8c_ae72d244176d64be94d17af6e2f8d3573}\label{usb__template__mtp_8c_ae72d244176d64be94d17af6e2f8d3573}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!mtp\_serial\_number@{mtp\_serial\_number}}
\index{mtp\_serial\_number@{mtp\_serial\_number}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{mtp\_serial\_number}{mtp\_serial\_number}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} mtp\+\_\+serial\+\_\+number\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00100}{100}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__mtp_8c_source_l00231}{mtp\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__mtp_8c_source_l00268}{mtp\+\_\+init()}}.

\mbox{\Hypertarget{usb__template__mtp_8c_a2cd386591316db266679b0682c489193}\label{usb__template__mtp_8c_a2cd386591316db266679b0682c489193}} 
\index{usb\_template\_mtp.c@{usb\_template\_mtp.c}!usb\_template\_mtp@{usb\_template\_mtp}}
\index{usb\_template\_mtp@{usb\_template\_mtp}!usb\_template\_mtp.c@{usb\_template\_mtp.c}}
\doxysubsubsection{\texorpdfstring{usb\_template\_mtp}{usb\_template\_mtp}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structusb__temp__device__desc}{usb\+\_\+temp\+\_\+device\+\_\+desc}} usb\+\_\+template\+\_\+mtp}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .getStringDesc = \&\mbox{\hyperlink{usb__template__mtp_8c_a06483d26c5ffd28da8a924b559344b8a}{mtp\_get\_string\_desc}},}
\DoxyCodeLine{        .getVendorDesc = \&\mbox{\hyperlink{usb__template__mtp_8c_adc81d369b6c41d431639effe46fcd7e6}{mtp\_get\_vendor\_desc}},}
\DoxyCodeLine{        .ppConfigDesc = \mbox{\hyperlink{usb__template__mtp_8c_a943699ea767a90f6d782a573a70950a3}{mtp\_configs}},}
\DoxyCodeLine{        .idVendor = \mbox{\hyperlink{usb__template__mtp_8c_af9265b276ffb5b885ea599d559da63c1}{MTP\_DEFAULT\_VENDOR\_ID}},}
\DoxyCodeLine{        .idProduct = \mbox{\hyperlink{usb__template__mtp_8c_a3ac62c40da8540e6abbdd454941afa8e}{MTP\_DEFAULT\_PRODUCT\_ID}},}
\DoxyCodeLine{        .bcdDevice = 0x0100,}
\DoxyCodeLine{        .bDeviceClass = 0,}
\DoxyCodeLine{        .bDeviceSubClass = 0,}
\DoxyCodeLine{        .bDeviceProtocol = 0,}
\DoxyCodeLine{        .iManufacturer = \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a8c4618a285550bec078badd3951fa3ad}{MTP\_MANUFACTURER\_INDEX}},}
\DoxyCodeLine{        .iProduct = \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a1f80803b85b7e694607d5c4d15c71601}{MTP\_PRODUCT\_INDEX}},}
\DoxyCodeLine{        .iSerialNumber = \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9af2ee9fcdc358911cb2ce3c1aeb2efe8a}{MTP\_SERIAL\_NUMBER\_INDEX}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mtp_8c_source_l00177}{177}} of file \mbox{\hyperlink{usb__template__mtp_8c_source}{usb\+\_\+template\+\_\+mtp.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__mtp_8c_source_l00268}{mtp\+\_\+init()}}, and \mbox{\hyperlink{usb__template_8c_source_l01416}{usb\+\_\+temp\+\_\+setup\+\_\+by\+\_\+index()}}.

