\hypertarget{usb__template__msc_8c}{}\doxysection{dev/usb/template/usb\+\_\+template\+\_\+msc.c File Reference}
\label{usb__template__msc_8c}\index{dev/usb/template/usb\_template\_msc.c@{dev/usb/template/usb\_template\_msc.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\+\_\+msc.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d6/d84/usb__template__msc_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{usb__template__msc_8c_a2df79219dea5461456a039e2fb3935b7}{MSC\+\_\+\+DEFAULT\+\_\+\+VENDOR\+\_\+\+ID}}~\mbox{\hyperlink{usb__template_8h_a4eb1c883c2f66f7f4ae94383fd6e01e3}{USB\+\_\+\+TEMPLATE\+\_\+\+VENDOR}}
\item 
\#define \mbox{\hyperlink{usb__template__msc_8c_a5f4783ff535ba124a432c7cede3dcf03}{MSC\+\_\+\+DEFAULT\+\_\+\+PRODUCT\+\_\+\+ID}}~0x27df
\item 
\#define \mbox{\hyperlink{usb__template__msc_8c_ae9a63282a2e4e2aa326d5f845283c827}{MSC\+\_\+\+DEFAULT\+\_\+\+INTERFACE}}~\char`\"{}USB Mass Storage Interface\char`\"{}
\item 
\#define \mbox{\hyperlink{usb__template__msc_8c_a71e6768b019d79fb5a0053761f5a5281}{MSC\+\_\+\+DEFAULT\+\_\+\+CONFIGURATION}}~\char`\"{}Default Config\char`\"{}
\item 
\#define \mbox{\hyperlink{usb__template__msc_8c_ae463e7bd6b2d54c9f34ef001e013d705}{MSC\+\_\+\+DEFAULT\+\_\+\+MANUFACTURER}}~\mbox{\hyperlink{usb__template_8h_a1a5f2918512e51fd0164ca8208965e24}{USB\+\_\+\+TEMPLATE\+\_\+\+MANUFACTURER}}
\item 
\#define \mbox{\hyperlink{usb__template__msc_8c_a773ba3938a374725484fb92099192c0f}{MSC\+\_\+\+DEFAULT\+\_\+\+PRODUCT}}~\char`\"{}USB Memory Stick\char`\"{}
\item 
\#define \mbox{\hyperlink{usb__template__msc_8c_a7ef222a4c039eb5b2f8ddf8eed78b774}{MSC\+\_\+\+DEFAULT\+\_\+\+SERIAL\+\_\+\+NUMBER}}~\char`\"{}March 2008\char`\"{}
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \{ \newline
\mbox{\hyperlink{usb__template__msc_8c_a4b4213b1f9d54da7c7e36bde32fc7c80afcca893a397170063bc4db040a3a0c86}{MSC\+\_\+\+LANG\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__msc_8c_a4b4213b1f9d54da7c7e36bde32fc7c80a15b09f618f9cd860daddedd191b505eb}{MSC\+\_\+\+INTERFACE\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__msc_8c_a4b4213b1f9d54da7c7e36bde32fc7c80aa0861bc33e9a197433617f24b9a58130}{MSC\+\_\+\+CONFIGURATION\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__msc_8c_a4b4213b1f9d54da7c7e36bde32fc7c80a51f5d3360ec3a5c66f782b6fb6a396e8}{MSC\+\_\+\+MANUFACTURER\+\_\+\+INDEX}}
, \newline
\mbox{\hyperlink{usb__template__msc_8c_a4b4213b1f9d54da7c7e36bde32fc7c80aefd7cfce2ec2a16e9c26dd2c908ba5b6}{MSC\+\_\+\+PRODUCT\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__msc_8c_a4b4213b1f9d54da7c7e36bde32fc7c80a105184749ff5247c0af58ce3f313b208}{MSC\+\_\+\+SERIAL\+\_\+\+NUMBER\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__msc_8c_a4b4213b1f9d54da7c7e36bde32fc7c80a2eb171fe6e820814567011618e141a80}{MSC\+\_\+\+MAX\+\_\+\+INDEX}}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static const void $\ast$ \mbox{\hyperlink{usb__template__msc_8c_a6a714a552ef3eb04a7b41bbc05323fed}{msc\+\_\+get\+\_\+string\+\_\+desc}} (uint16\+\_\+t lang\+\_\+id, uint8\+\_\+t string\+\_\+index)
\item 
static void \mbox{\hyperlink{usb__template__msc_8c_a8a17b9833b0e51e06a0c603e9a8c6f00}{msc\+\_\+init}} (void $\ast$arg \+\_\+\+\_\+unused)
\item 
static void \mbox{\hyperlink{usb__template__msc_8c_a91c41e89ecfaa8da7a9b4d01b3576485}{msc\+\_\+uninit}} (void $\ast$arg \+\_\+\+\_\+unused)
\item 
\mbox{\hyperlink{usb__template__msc_8c_a717ab8049580348e07ece110ddbc249c}{SYSINIT}} (\mbox{\hyperlink{usb__template__msc_8c_a8a17b9833b0e51e06a0c603e9a8c6f00}{msc\+\_\+init}}, SI\+\_\+\+SUB\+\_\+\+LOCK, SI\+\_\+\+ORDER\+\_\+\+FIRST, \mbox{\hyperlink{usb__template__msc_8c_a8a17b9833b0e51e06a0c603e9a8c6f00}{msc\+\_\+init}}, NULL)
\item 
\mbox{\hyperlink{usb__template__msc_8c_af7cc5cfe93b861a0fa45c5603ec24612}{SYSUNINIT}} (\mbox{\hyperlink{usb__template__msc_8c_a91c41e89ecfaa8da7a9b4d01b3576485}{msc\+\_\+uninit}}, SI\+\_\+\+SUB\+\_\+\+LOCK, SI\+\_\+\+ORDER\+\_\+\+FIRST, \mbox{\hyperlink{usb__template__msc_8c_a91c41e89ecfaa8da7a9b4d01b3576485}{msc\+\_\+uninit}}, NULL)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__msc_8c_aecb966d9f1ba8d8dd9b29b42097265f5}{msc\+\_\+interface}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__msc_8c_aed8fd8983dcbce9751b179a2b55a4f3f}{msc\+\_\+configuration}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__msc_8c_a43bff8493302c8909909a2077062515a}{msc\+\_\+manufacturer}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__msc_8c_a45499e62d7b5a4d5ebb493c6978fd689}{msc\+\_\+product}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__msc_8c_a7a5bd376973244989d36290d673771e5}{msc\+\_\+serial\+\_\+number}}
\item 
static struct sysctl\+\_\+ctx\+\_\+list \mbox{\hyperlink{usb__template__msc_8c_ac3f480a4c20f571df655b9f96690cdc0}{msc\+\_\+ctx\+\_\+list}}
\item 
static \mbox{\hyperlink{usb__template_8h_ab56131b3dcadea9f2be25f942a4f2af7}{usb\+\_\+temp\+\_\+get\+\_\+string\+\_\+desc\+\_\+t}} \mbox{\hyperlink{usb__template__msc_8c_ac5cb0d5691ca0886f5b8b5b932f2c616}{msc\+\_\+get\+\_\+string\+\_\+desc}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__packet__size}{usb\+\_\+temp\+\_\+packet\+\_\+size}} \mbox{\hyperlink{usb__template__msc_8c_a51299a5ce4a0ea953f804633189e181c}{bulk\+\_\+mps}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} \mbox{\hyperlink{usb__template__msc_8c_a87d44dd5841ee9dfecb83a292752acb8}{bulk\+\_\+in\+\_\+ep}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} \mbox{\hyperlink{usb__template__msc_8c_a7875b7badc71c3105e10cb98eb1e2d38}{bulk\+\_\+out\+\_\+ep}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} $\ast$ \mbox{\hyperlink{usb__template__msc_8c_a4dc788f56d6338034693c50f3c5f235a}{msc\+\_\+data\+\_\+endpoints}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structusb__temp__interface__desc}{usb\+\_\+temp\+\_\+interface\+\_\+desc}} \mbox{\hyperlink{usb__template__msc_8c_af0964be70f8300d555b4c8e6142ff6d4}{msc\+\_\+data\+\_\+interface}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__interface__desc}{usb\+\_\+temp\+\_\+interface\+\_\+desc}} $\ast$ \mbox{\hyperlink{usb__template__msc_8c_a064748be8274848c73a35796e8c4c615}{msc\+\_\+interfaces}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structusb__temp__config__desc}{usb\+\_\+temp\+\_\+config\+\_\+desc}} \mbox{\hyperlink{usb__template__msc_8c_ab8610931c5ecf151c1194559f3607e61}{msc\+\_\+config\+\_\+desc}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__config__desc}{usb\+\_\+temp\+\_\+config\+\_\+desc}} $\ast$ \mbox{\hyperlink{usb__template__msc_8c_a3b251cc144749498a912da9840067ff4}{msc\+\_\+configs}} \mbox{[}$\,$\mbox{]}
\item 
struct \mbox{\hyperlink{structusb__temp__device__desc}{usb\+\_\+temp\+\_\+device\+\_\+desc}} \mbox{\hyperlink{usb__template__msc_8c_aaa15875bc0e9412eaa4140407bf3afa3}{usb\+\_\+template\+\_\+msc}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{usb__template__msc_8c_a71e6768b019d79fb5a0053761f5a5281}\label{usb__template__msc_8c_a71e6768b019d79fb5a0053761f5a5281}} 
\index{usb\_template\_msc.c@{usb\_template\_msc.c}!MSC\_DEFAULT\_CONFIGURATION@{MSC\_DEFAULT\_CONFIGURATION}}
\index{MSC\_DEFAULT\_CONFIGURATION@{MSC\_DEFAULT\_CONFIGURATION}!usb\_template\_msc.c@{usb\_template\_msc.c}}
\doxysubsubsection{\texorpdfstring{MSC\_DEFAULT\_CONFIGURATION}{MSC\_DEFAULT\_CONFIGURATION}}
{\footnotesize\ttfamily \#define MSC\+\_\+\+DEFAULT\+\_\+\+CONFIGURATION~\char`\"{}Default Config\char`\"{}}



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00082}{82}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

\mbox{\Hypertarget{usb__template__msc_8c_ae9a63282a2e4e2aa326d5f845283c827}\label{usb__template__msc_8c_ae9a63282a2e4e2aa326d5f845283c827}} 
\index{usb\_template\_msc.c@{usb\_template\_msc.c}!MSC\_DEFAULT\_INTERFACE@{MSC\_DEFAULT\_INTERFACE}}
\index{MSC\_DEFAULT\_INTERFACE@{MSC\_DEFAULT\_INTERFACE}!usb\_template\_msc.c@{usb\_template\_msc.c}}
\doxysubsubsection{\texorpdfstring{MSC\_DEFAULT\_INTERFACE}{MSC\_DEFAULT\_INTERFACE}}
{\footnotesize\ttfamily \#define MSC\+\_\+\+DEFAULT\+\_\+\+INTERFACE~\char`\"{}USB Mass Storage Interface\char`\"{}}



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00081}{81}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00083}{83}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

\mbox{\Hypertarget{usb__template__msc_8c_a773ba3938a374725484fb92099192c0f}\label{usb__template__msc_8c_a773ba3938a374725484fb92099192c0f}} 
\index{usb\_template\_msc.c@{usb\_template\_msc.c}!MSC\_DEFAULT\_PRODUCT@{MSC\_DEFAULT\_PRODUCT}}
\index{MSC\_DEFAULT\_PRODUCT@{MSC\_DEFAULT\_PRODUCT}!usb\_template\_msc.c@{usb\_template\_msc.c}}
\doxysubsubsection{\texorpdfstring{MSC\_DEFAULT\_PRODUCT}{MSC\_DEFAULT\_PRODUCT}}
{\footnotesize\ttfamily \#define MSC\+\_\+\+DEFAULT\+\_\+\+PRODUCT~\char`\"{}USB Memory Stick\char`\"{}}



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00084}{84}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

\mbox{\Hypertarget{usb__template__msc_8c_a5f4783ff535ba124a432c7cede3dcf03}\label{usb__template__msc_8c_a5f4783ff535ba124a432c7cede3dcf03}} 
\index{usb\_template\_msc.c@{usb\_template\_msc.c}!MSC\_DEFAULT\_PRODUCT\_ID@{MSC\_DEFAULT\_PRODUCT\_ID}}
\index{MSC\_DEFAULT\_PRODUCT\_ID@{MSC\_DEFAULT\_PRODUCT\_ID}!usb\_template\_msc.c@{usb\_template\_msc.c}}
\doxysubsubsection{\texorpdfstring{MSC\_DEFAULT\_PRODUCT\_ID}{MSC\_DEFAULT\_PRODUCT\_ID}}
{\footnotesize\ttfamily \#define MSC\+\_\+\+DEFAULT\+\_\+\+PRODUCT\+\_\+\+ID~0x27df}



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00080}{80}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00085}{85}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00079}{79}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.



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

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

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

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

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

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

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

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

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00069}{69}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{usb__template__msc_8c_a6a714a552ef3eb04a7b41bbc05323fed}\label{usb__template__msc_8c_a6a714a552ef3eb04a7b41bbc05323fed}} 
\index{usb\_template\_msc.c@{usb\_template\_msc.c}!msc\_get\_string\_desc@{msc\_get\_string\_desc}}
\index{msc\_get\_string\_desc@{msc\_get\_string\_desc}!usb\_template\_msc.c@{usb\_template\_msc.c}}
\doxysubsubsection{\texorpdfstring{msc\_get\_string\_desc()}{msc\_get\_string\_desc()}}
{\footnotesize\ttfamily static const void $\ast$ msc\+\_\+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__msc_8c_source_l00177}{177}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.



References \mbox{\hyperlink{usb__template__msc_8c_source_l00088}{msc\+\_\+configuration}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00072}{MSC\+\_\+\+CONFIGURATION\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00087}{msc\+\_\+interface}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00071}{MSC\+\_\+\+INTERFACE\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00070}{MSC\+\_\+\+LANG\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00089}{msc\+\_\+manufacturer}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00073}{MSC\+\_\+\+MANUFACTURER\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00076}{MSC\+\_\+\+MAX\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00090}{msc\+\_\+product}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00074}{MSC\+\_\+\+PRODUCT\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00091}{msc\+\_\+serial\+\_\+number}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00075}{MSC\+\_\+\+SERIAL\+\_\+\+NUMBER\+\_\+\+INDEX}}, and \mbox{\hyperlink{usb__core_8c_source_l00063}{usb\+\_\+string\+\_\+lang\+\_\+en}}.

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



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00201}{201}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+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__msc_8c_source_l00088}{msc\+\_\+configuration}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00093}{msc\+\_\+ctx\+\_\+list}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00082}{MSC\+\_\+\+DEFAULT\+\_\+\+CONFIGURATION}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00081}{MSC\+\_\+\+DEFAULT\+\_\+\+INTERFACE}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00083}{MSC\+\_\+\+DEFAULT\+\_\+\+MANUFACTURER}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00084}{MSC\+\_\+\+DEFAULT\+\_\+\+PRODUCT}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00085}{MSC\+\_\+\+DEFAULT\+\_\+\+SERIAL\+\_\+\+NUMBER}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00087}{msc\+\_\+interface}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00089}{msc\+\_\+manufacturer}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00090}{msc\+\_\+product}}, \mbox{\hyperlink{usb__template__msc_8c_source_l00091}{msc\+\_\+serial\+\_\+number}}, \mbox{\hyperlink{usb__util_8c_source_l00193}{usb\+\_\+make\+\_\+str\+\_\+desc()}}, \mbox{\hyperlink{usb__ioctl_8h_source_l00052}{USB\+\_\+\+TEMP\+\_\+\+MSC}}, \mbox{\hyperlink{usb__template_8c_source_l00173}{usb\+\_\+temp\+\_\+sysctl()}}, and \mbox{\hyperlink{usb__template__msc_8c_source_l00155}{usb\+\_\+template\+\_\+msc}}.

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



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00255}{255}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.



References \mbox{\hyperlink{usb__template__msc_8c_source_l00093}{msc\+\_\+ctx\+\_\+list}}.

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

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



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{usb__template__msc_8c_a87d44dd5841ee9dfecb83a292752acb8}\label{usb__template__msc_8c_a87d44dd5841ee9dfecb83a292752acb8}} 
\index{usb\_template\_msc.c@{usb\_template\_msc.c}!bulk\_in\_ep@{bulk\_in\_ep}}
\index{bulk\_in\_ep@{bulk\_in\_ep}!usb\_template\_msc.c@{usb\_template\_msc.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__msc_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__msc_8c_source_l00104}{104}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

\mbox{\Hypertarget{usb__template__msc_8c_a51299a5ce4a0ea953f804633189e181c}\label{usb__template__msc_8c_a51299a5ce4a0ea953f804633189e181c}} 
\index{usb\_template\_msc.c@{usb\_template\_msc.c}!bulk\_mps@{bulk\_mps}}
\index{bulk\_mps@{bulk\_mps}!usb\_template\_msc.c@{usb\_template\_msc.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__msc_8c_source_l00099}{99}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

\mbox{\Hypertarget{usb__template__msc_8c_a7875b7badc71c3105e10cb98eb1e2d38}\label{usb__template__msc_8c_a7875b7badc71c3105e10cb98eb1e2d38}} 
\index{usb\_template\_msc.c@{usb\_template\_msc.c}!bulk\_out\_ep@{bulk\_out\_ep}}
\index{bulk\_out\_ep@{bulk\_out\_ep}!usb\_template\_msc.c@{usb\_template\_msc.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__msc_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__msc_8c_source_l00114}{114}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .ppIfaceDesc = \mbox{\hyperlink{usb__template__msc_8c_a064748be8274848c73a35796e8c4c615}{msc\_interfaces}},}
\DoxyCodeLine{        .bmAttributes = 0,}
\DoxyCodeLine{        .bMaxPower = 0,}
\DoxyCodeLine{        .iConfiguration = \mbox{\hyperlink{usb__template__msc_8c_a4b4213b1f9d54da7c7e36bde32fc7c80aa0861bc33e9a197433617f24b9a58130}{MSC\_CONFIGURATION\_INDEX}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00143}{143}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

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

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

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00150}{150}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00088}{88}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__msc_8c_source_l00177}{msc\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__msc_8c_source_l00201}{msc\+\_\+init()}}.

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



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00093}{93}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__msc_8c_source_l00201}{msc\+\_\+init()}}, and \mbox{\hyperlink{usb__template__msc_8c_source_l00255}{msc\+\_\+uninit()}}.

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&\mbox{\hyperlink{usb__template__msc_8c_a87d44dd5841ee9dfecb83a292752acb8}{bulk\_in\_ep}},}
\DoxyCodeLine{        \&\mbox{\hyperlink{usb__template__msc_8c_a7875b7badc71c3105e10cb98eb1e2d38}{bulk\_out\_ep}},}
\DoxyCodeLine{        NULL,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00124}{124}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .ppEndpoints = \mbox{\hyperlink{usb__template__msc_8c_a4dc788f56d6338034693c50f3c5f235a}{msc\_data\_endpoints}},}
\DoxyCodeLine{        .bInterfaceClass = \mbox{\hyperlink{usb_8h_ae81b41321fc379102099b7f2e5c9739e}{UICLASS\_MASS}},}
\DoxyCodeLine{        .bInterfaceSubClass = \mbox{\hyperlink{usb_8h_a46b53cbd6c85c0370cb95f6c794f3cb6}{UISUBCLASS\_SCSI}},}
\DoxyCodeLine{        .bInterfaceProtocol = \mbox{\hyperlink{usb_8h_a1dd4ef2dd3103277eab1c96c2a8ccae3}{UIPROTO\_MASS\_BBB}},}
\DoxyCodeLine{        .iInterface = \mbox{\hyperlink{usb__template__msc_8c_a4b4213b1f9d54da7c7e36bde32fc7c80a15b09f618f9cd860daddedd191b505eb}{MSC\_INTERFACE\_INDEX}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00130}{130}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00097}{97}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00087}{87}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__msc_8c_source_l00177}{msc\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__msc_8c_source_l00201}{msc\+\_\+init()}}.

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

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

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00138}{138}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00089}{89}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__msc_8c_source_l00177}{msc\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__msc_8c_source_l00201}{msc\+\_\+init()}}.

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



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00090}{90}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__msc_8c_source_l00177}{msc\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__msc_8c_source_l00201}{msc\+\_\+init()}}.

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



Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00091}{91}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__msc_8c_source_l00177}{msc\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__msc_8c_source_l00201}{msc\+\_\+init()}}.

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .getStringDesc = \&\mbox{\hyperlink{usb__template__msc_8c_ac5cb0d5691ca0886f5b8b5b932f2c616}{msc\_get\_string\_desc}},}
\DoxyCodeLine{        .ppConfigDesc = \mbox{\hyperlink{usb__template__msc_8c_a3b251cc144749498a912da9840067ff4}{msc\_configs}},}
\DoxyCodeLine{        .idVendor = \mbox{\hyperlink{usb__template__msc_8c_a2df79219dea5461456a039e2fb3935b7}{MSC\_DEFAULT\_VENDOR\_ID}},}
\DoxyCodeLine{        .idProduct = \mbox{\hyperlink{usb__template__msc_8c_a5f4783ff535ba124a432c7cede3dcf03}{MSC\_DEFAULT\_PRODUCT\_ID}},}
\DoxyCodeLine{        .bcdDevice = 0x0100,}
\DoxyCodeLine{        .bDeviceClass = \mbox{\hyperlink{usb_8h_afb401cd4f795d145dcfb80ab08f383bb}{UDCLASS\_COMM}},}
\DoxyCodeLine{        .bDeviceSubClass = 0,}
\DoxyCodeLine{        .bDeviceProtocol = 0,}
\DoxyCodeLine{        .iManufacturer = \mbox{\hyperlink{usb__template__msc_8c_a4b4213b1f9d54da7c7e36bde32fc7c80a51f5d3360ec3a5c66f782b6fb6a396e8}{MSC\_MANUFACTURER\_INDEX}},}
\DoxyCodeLine{        .iProduct = \mbox{\hyperlink{usb__template__msc_8c_a4b4213b1f9d54da7c7e36bde32fc7c80aefd7cfce2ec2a16e9c26dd2c908ba5b6}{MSC\_PRODUCT\_INDEX}},}
\DoxyCodeLine{        .iSerialNumber = \mbox{\hyperlink{usb__template__msc_8c_a4b4213b1f9d54da7c7e36bde32fc7c80a105184749ff5247c0af58ce3f313b208}{MSC\_SERIAL\_NUMBER\_INDEX}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__msc_8c_source_l00155}{155}} of file \mbox{\hyperlink{usb__template__msc_8c_source}{usb\+\_\+template\+\_\+msc.\+c}}.



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

