\hypertarget{usb__template__cdceem_8c}{}\doxysection{dev/usb/template/usb\+\_\+template\+\_\+cdceem.c File Reference}
\label{usb__template__cdceem_8c}\index{dev/usb/template/usb\_template\_cdceem.c@{dev/usb/template/usb\_template\_cdceem.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\+\_\+cdceem.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d6/df8/usb__template__cdceem_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{usb__template__cdceem_8c_a151f21539428e7402f27ec02221b6192}{CDCEEM\+\_\+\+DEFAULT\+\_\+\+VENDOR\+\_\+\+ID}}~\mbox{\hyperlink{usb__template_8h_a4eb1c883c2f66f7f4ae94383fd6e01e3}{USB\+\_\+\+TEMPLATE\+\_\+\+VENDOR}}
\item 
\#define \mbox{\hyperlink{usb__template__cdceem_8c_a4f849b25e1bcda2e167d80e891464f6d}{CDCEEM\+\_\+\+DEFAULT\+\_\+\+PRODUCT\+\_\+\+ID}}~0x27df
\item 
\#define \mbox{\hyperlink{usb__template__cdceem_8c_a72cc6628b1022fc8059bdb7cf2b3d558}{CDCEEM\+\_\+\+DEFAULT\+\_\+\+INTERFACE}}~\char`\"{}USB CDC EEM Interface\char`\"{}
\item 
\#define \mbox{\hyperlink{usb__template__cdceem_8c_a31c31a24e58a9da037f6a4bec490971a}{CDCEEM\+\_\+\+DEFAULT\+\_\+\+CONFIGURATION}}~\char`\"{}Default Config\char`\"{}
\item 
\#define \mbox{\hyperlink{usb__template__cdceem_8c_a33cbfb5eb0464a299c88b0c1d536e2ad}{CDCEEM\+\_\+\+DEFAULT\+\_\+\+MANUFACTURER}}~\mbox{\hyperlink{usb__template_8h_a1a5f2918512e51fd0164ca8208965e24}{USB\+\_\+\+TEMPLATE\+\_\+\+MANUFACTURER}}
\item 
\#define \mbox{\hyperlink{usb__template__cdceem_8c_a9424ea151c970c2395e789405722961d}{CDCEEM\+\_\+\+DEFAULT\+\_\+\+PRODUCT}}~\char`\"{}CDC EEM\char`\"{}
\item 
\#define \mbox{\hyperlink{usb__template__cdceem_8c_a7a6741bffa0f6138d9443afdb34a9847}{CDCEEM\+\_\+\+DEFAULT\+\_\+\+SERIAL\+\_\+\+NUMBER}}~\char`\"{}March 2008\char`\"{}
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \{ \newline
\mbox{\hyperlink{usb__template__cdceem_8c_a7859c0a3efa8b1c360f5c2376baf051eaee67daeaddd994aa2091b7547b53a535}{CDCEEM\+\_\+\+LANG\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__cdceem_8c_a7859c0a3efa8b1c360f5c2376baf051eae47bb1983431c70e37d53233cc699807}{CDCEEM\+\_\+\+INTERFACE\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__cdceem_8c_a7859c0a3efa8b1c360f5c2376baf051ea06c20cbb9c8388bba37747822a082fcb}{CDCEEM\+\_\+\+CONFIGURATION\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__cdceem_8c_a7859c0a3efa8b1c360f5c2376baf051eaa0235c5d11787384444b298309f4b654}{CDCEEM\+\_\+\+MANUFACTURER\+\_\+\+INDEX}}
, \newline
\mbox{\hyperlink{usb__template__cdceem_8c_a7859c0a3efa8b1c360f5c2376baf051ea47d23e759f437ed500a85af3cc1267d3}{CDCEEM\+\_\+\+PRODUCT\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__cdceem_8c_a7859c0a3efa8b1c360f5c2376baf051ea1116faa40ba4461682aef96c6879a163}{CDCEEM\+\_\+\+SERIAL\+\_\+\+NUMBER\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__cdceem_8c_a7859c0a3efa8b1c360f5c2376baf051ea624a0398ef60000fdd43705f07157acd}{CDCEEM\+\_\+\+MAX\+\_\+\+INDEX}}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static const void $\ast$ \mbox{\hyperlink{usb__template__cdceem_8c_a26d05c246d73dc516893d4a53c53a356}{cdceem\+\_\+get\+\_\+string\+\_\+desc}} (uint16\+\_\+t lang\+\_\+id, uint8\+\_\+t string\+\_\+index)
\item 
static void \mbox{\hyperlink{usb__template__cdceem_8c_a17980c19cadaf2babd114bd37add8188}{cdceem\+\_\+init}} (void $\ast$arg \+\_\+\+\_\+unused)
\item 
static void \mbox{\hyperlink{usb__template__cdceem_8c_a182cf425197f61f08893b1bb048c2d9f}{cdceem\+\_\+uninit}} (void $\ast$arg \+\_\+\+\_\+unused)
\item 
\mbox{\hyperlink{usb__template__cdceem_8c_aae12aa60d620e9b03f2e578770b56605}{SYSINIT}} (\mbox{\hyperlink{usb__template__cdceem_8c_a17980c19cadaf2babd114bd37add8188}{cdceem\+\_\+init}}, SI\+\_\+\+SUB\+\_\+\+LOCK, SI\+\_\+\+ORDER\+\_\+\+FIRST, \mbox{\hyperlink{usb__template__cdceem_8c_a17980c19cadaf2babd114bd37add8188}{cdceem\+\_\+init}}, NULL)
\item 
\mbox{\hyperlink{usb__template__cdceem_8c_aeebe62cf5e7a5dc6de61ae24a4204bd2}{SYSUNINIT}} (\mbox{\hyperlink{usb__template__cdceem_8c_a182cf425197f61f08893b1bb048c2d9f}{cdceem\+\_\+uninit}}, SI\+\_\+\+SUB\+\_\+\+LOCK, SI\+\_\+\+ORDER\+\_\+\+FIRST, \mbox{\hyperlink{usb__template__cdceem_8c_a182cf425197f61f08893b1bb048c2d9f}{cdceem\+\_\+uninit}}, NULL)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__cdceem_8c_a34abb2a501ceb8d8311d76d7164fe76b}{cdceem\+\_\+interface}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__cdceem_8c_a5d63d2897451480fdef0ab54612335ab}{cdceem\+\_\+configuration}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__cdceem_8c_af0fac7a351710b25b3382fc51f7bf6d2}{cdceem\+\_\+manufacturer}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__cdceem_8c_a1511381f22b18edf27ffd0ff70c01cc4}{cdceem\+\_\+product}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__cdceem_8c_a654c7927cb071f9bd89d16daacf16b0e}{cdceem\+\_\+serial\+\_\+number}}
\item 
static struct sysctl\+\_\+ctx\+\_\+list \mbox{\hyperlink{usb__template__cdceem_8c_ad80884f90ce307eb08c6c4d4b03ce5b9}{cdceem\+\_\+ctx\+\_\+list}}
\item 
static \mbox{\hyperlink{usb__template_8h_ab56131b3dcadea9f2be25f942a4f2af7}{usb\+\_\+temp\+\_\+get\+\_\+string\+\_\+desc\+\_\+t}} \mbox{\hyperlink{usb__template__cdceem_8c_a7663c1a1774d0e3b8f9eb3bfaf6c8c26}{cdceem\+\_\+get\+\_\+string\+\_\+desc}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__packet__size}{usb\+\_\+temp\+\_\+packet\+\_\+size}} \mbox{\hyperlink{usb__template__cdceem_8c_a51299a5ce4a0ea953f804633189e181c}{bulk\+\_\+mps}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} \mbox{\hyperlink{usb__template__cdceem_8c_a87d44dd5841ee9dfecb83a292752acb8}{bulk\+\_\+in\+\_\+ep}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} \mbox{\hyperlink{usb__template__cdceem_8c_a7875b7badc71c3105e10cb98eb1e2d38}{bulk\+\_\+out\+\_\+ep}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} $\ast$ \mbox{\hyperlink{usb__template__cdceem_8c_ae4317df1e8aada71fcf108e3c5994a14}{cdceem\+\_\+data\+\_\+endpoints}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structusb__temp__interface__desc}{usb\+\_\+temp\+\_\+interface\+\_\+desc}} \mbox{\hyperlink{usb__template__cdceem_8c_a4362045ee1494093f932f1eea77fd1cd}{cdceem\+\_\+data\+\_\+interface}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__interface__desc}{usb\+\_\+temp\+\_\+interface\+\_\+desc}} $\ast$ \mbox{\hyperlink{usb__template__cdceem_8c_a008bbd13ba877fd8975778299dd56be4}{cdceem\+\_\+interfaces}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structusb__temp__config__desc}{usb\+\_\+temp\+\_\+config\+\_\+desc}} \mbox{\hyperlink{usb__template__cdceem_8c_a4c71fba74ba9fb129633a1ff48162643}{cdceem\+\_\+config\+\_\+desc}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__config__desc}{usb\+\_\+temp\+\_\+config\+\_\+desc}} $\ast$ \mbox{\hyperlink{usb__template__cdceem_8c_a96d8ebb33a4ce92863f2bf007a93b18e}{cdceem\+\_\+configs}} \mbox{[}$\,$\mbox{]}
\item 
struct \mbox{\hyperlink{structusb__temp__device__desc}{usb\+\_\+temp\+\_\+device\+\_\+desc}} \mbox{\hyperlink{usb__template__cdceem_8c_a21fa41850851cbd6a414d004b1d751a7}{usb\+\_\+template\+\_\+cdceem}}
\end{DoxyCompactItemize}


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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00083}{83}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

\mbox{\Hypertarget{usb__template__cdceem_8c_a72cc6628b1022fc8059bdb7cf2b3d558}\label{usb__template__cdceem_8c_a72cc6628b1022fc8059bdb7cf2b3d558}} 
\index{usb\_template\_cdceem.c@{usb\_template\_cdceem.c}!CDCEEM\_DEFAULT\_INTERFACE@{CDCEEM\_DEFAULT\_INTERFACE}}
\index{CDCEEM\_DEFAULT\_INTERFACE@{CDCEEM\_DEFAULT\_INTERFACE}!usb\_template\_cdceem.c@{usb\_template\_cdceem.c}}
\doxysubsubsection{\texorpdfstring{CDCEEM\_DEFAULT\_INTERFACE}{CDCEEM\_DEFAULT\_INTERFACE}}
{\footnotesize\ttfamily \#define CDCEEM\+\_\+\+DEFAULT\+\_\+\+INTERFACE~\char`\"{}USB CDC EEM Interface\char`\"{}}



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00082}{82}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00084}{84}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

\mbox{\Hypertarget{usb__template__cdceem_8c_a9424ea151c970c2395e789405722961d}\label{usb__template__cdceem_8c_a9424ea151c970c2395e789405722961d}} 
\index{usb\_template\_cdceem.c@{usb\_template\_cdceem.c}!CDCEEM\_DEFAULT\_PRODUCT@{CDCEEM\_DEFAULT\_PRODUCT}}
\index{CDCEEM\_DEFAULT\_PRODUCT@{CDCEEM\_DEFAULT\_PRODUCT}!usb\_template\_cdceem.c@{usb\_template\_cdceem.c}}
\doxysubsubsection{\texorpdfstring{CDCEEM\_DEFAULT\_PRODUCT}{CDCEEM\_DEFAULT\_PRODUCT}}
{\footnotesize\ttfamily \#define CDCEEM\+\_\+\+DEFAULT\+\_\+\+PRODUCT~\char`\"{}CDC EEM\char`\"{}}



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00085}{85}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00081}{81}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00086}{86}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00080}{80}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.



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

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

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

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

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

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

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

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

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00070}{70}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{usb__template__cdceem_8c_a26d05c246d73dc516893d4a53c53a356}\label{usb__template__cdceem_8c_a26d05c246d73dc516893d4a53c53a356}} 
\index{usb\_template\_cdceem.c@{usb\_template\_cdceem.c}!cdceem\_get\_string\_desc@{cdceem\_get\_string\_desc}}
\index{cdceem\_get\_string\_desc@{cdceem\_get\_string\_desc}!usb\_template\_cdceem.c@{usb\_template\_cdceem.c}}
\doxysubsubsection{\texorpdfstring{cdceem\_get\_string\_desc()}{cdceem\_get\_string\_desc()}}
{\footnotesize\ttfamily static const void $\ast$ cdceem\+\_\+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__cdceem_8c_source_l00178}{178}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.



References \mbox{\hyperlink{usb__template__cdceem_8c_source_l00089}{cdceem\+\_\+configuration}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00073}{CDCEEM\+\_\+\+CONFIGURATION\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00088}{cdceem\+\_\+interface}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00072}{CDCEEM\+\_\+\+INTERFACE\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00071}{CDCEEM\+\_\+\+LANG\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00090}{cdceem\+\_\+manufacturer}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00074}{CDCEEM\+\_\+\+MANUFACTURER\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00077}{CDCEEM\+\_\+\+MAX\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00091}{cdceem\+\_\+product}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00075}{CDCEEM\+\_\+\+PRODUCT\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00092}{cdceem\+\_\+serial\+\_\+number}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00076}{CDCEEM\+\_\+\+SERIAL\+\_\+\+NUMBER\+\_\+\+INDEX}}, and \mbox{\hyperlink{usb__core_8c_source_l00063}{usb\+\_\+string\+\_\+lang\+\_\+en}}.

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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00202}{202}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.



References \mbox{\hyperlink{usb__template__cdceem_8c_source_l00089}{cdceem\+\_\+configuration}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00094}{cdceem\+\_\+ctx\+\_\+list}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00083}{CDCEEM\+\_\+\+DEFAULT\+\_\+\+CONFIGURATION}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00082}{CDCEEM\+\_\+\+DEFAULT\+\_\+\+INTERFACE}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00084}{CDCEEM\+\_\+\+DEFAULT\+\_\+\+MANUFACTURER}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00085}{CDCEEM\+\_\+\+DEFAULT\+\_\+\+PRODUCT}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00086}{CDCEEM\+\_\+\+DEFAULT\+\_\+\+SERIAL\+\_\+\+NUMBER}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00088}{cdceem\+\_\+interface}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00090}{cdceem\+\_\+manufacturer}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00091}{cdceem\+\_\+product}}, \mbox{\hyperlink{usb__template__cdceem_8c_source_l00092}{cdceem\+\_\+serial\+\_\+number}}, \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__util_8c_source_l00193}{usb\+\_\+make\+\_\+str\+\_\+desc()}}, \mbox{\hyperlink{usb__ioctl_8h_source_l00063}{USB\+\_\+\+TEMP\+\_\+\+CDCEEM}}, \mbox{\hyperlink{usb__template_8c_source_l00173}{usb\+\_\+temp\+\_\+sysctl()}}, and \mbox{\hyperlink{usb__template__cdceem_8c_source_l00156}{usb\+\_\+template\+\_\+cdceem}}.

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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00256}{256}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.



References \mbox{\hyperlink{usb__template__cdceem_8c_source_l00094}{cdceem\+\_\+ctx\+\_\+list}}.

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

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



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{usb__template__cdceem_8c_a87d44dd5841ee9dfecb83a292752acb8}\label{usb__template__cdceem_8c_a87d44dd5841ee9dfecb83a292752acb8}} 
\index{usb\_template\_cdceem.c@{usb\_template\_cdceem.c}!bulk\_in\_ep@{bulk\_in\_ep}}
\index{bulk\_in\_ep@{bulk\_in\_ep}!usb\_template\_cdceem.c@{usb\_template\_cdceem.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__cdceem_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__cdceem_8c_source_l00105}{105}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

\mbox{\Hypertarget{usb__template__cdceem_8c_a51299a5ce4a0ea953f804633189e181c}\label{usb__template__cdceem_8c_a51299a5ce4a0ea953f804633189e181c}} 
\index{usb\_template\_cdceem.c@{usb\_template\_cdceem.c}!bulk\_mps@{bulk\_mps}}
\index{bulk\_mps@{bulk\_mps}!usb\_template\_cdceem.c@{usb\_template\_cdceem.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__cdceem_8c_source_l00100}{100}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

\mbox{\Hypertarget{usb__template__cdceem_8c_a7875b7badc71c3105e10cb98eb1e2d38}\label{usb__template__cdceem_8c_a7875b7badc71c3105e10cb98eb1e2d38}} 
\index{usb\_template\_cdceem.c@{usb\_template\_cdceem.c}!bulk\_out\_ep@{bulk\_out\_ep}}
\index{bulk\_out\_ep@{bulk\_out\_ep}!usb\_template\_cdceem.c@{usb\_template\_cdceem.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__cdceem_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__cdceem_8c_source_l00115}{115}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .ppIfaceDesc = \mbox{\hyperlink{usb__template__cdceem_8c_a008bbd13ba877fd8975778299dd56be4}{cdceem\_interfaces}},}
\DoxyCodeLine{        .bmAttributes = 0,}
\DoxyCodeLine{        .bMaxPower = 0,}
\DoxyCodeLine{        .iConfiguration = \mbox{\hyperlink{usb__template__cdceem_8c_a7859c0a3efa8b1c360f5c2376baf051ea06c20cbb9c8388bba37747822a082fcb}{CDCEEM\_CONFIGURATION\_INDEX}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00144}{144}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

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

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

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00151}{151}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00089}{89}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__cdceem_8c_source_l00178}{cdceem\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__cdceem_8c_source_l00202}{cdceem\+\_\+init()}}.

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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00094}{94}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__cdceem_8c_source_l00202}{cdceem\+\_\+init()}}, and \mbox{\hyperlink{usb__template__cdceem_8c_source_l00256}{cdceem\+\_\+uninit()}}.

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

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

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00125}{125}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .ppEndpoints = \mbox{\hyperlink{usb__template__cdceem_8c_ae4317df1e8aada71fcf108e3c5994a14}{cdceem\_data\_endpoints}},}
\DoxyCodeLine{        .bInterfaceClass = \mbox{\hyperlink{usb_8h_a7ee8a2a46bb5ed7942883b57b7d866a1}{UICLASS\_CDC}},}
\DoxyCodeLine{        .bInterfaceSubClass = \mbox{\hyperlink{usb_8h_a7e289a1435f6a435d1b2b1f9644fa4a0}{UISUBCLASS\_ETHERNET\_EMULATION\_MODEL}},}
\DoxyCodeLine{        .bInterfaceProtocol = \mbox{\hyperlink{usb_8h_a6ae371ce728cf1a0ffe094545e5ba412}{UIPROTO\_CDC\_EEM}},}
\DoxyCodeLine{        .iInterface = \mbox{\hyperlink{usb__template__cdceem_8c_a7859c0a3efa8b1c360f5c2376baf051eae47bb1983431c70e37d53233cc699807}{CDCEEM\_INTERFACE\_INDEX}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00131}{131}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00098}{98}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00088}{88}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__cdceem_8c_source_l00178}{cdceem\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__cdceem_8c_source_l00202}{cdceem\+\_\+init()}}.

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

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

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00139}{139}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00090}{90}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__cdceem_8c_source_l00178}{cdceem\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__cdceem_8c_source_l00202}{cdceem\+\_\+init()}}.

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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00091}{91}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__cdceem_8c_source_l00178}{cdceem\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__cdceem_8c_source_l00202}{cdceem\+\_\+init()}}.

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



Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00092}{92}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__cdceem_8c_source_l00178}{cdceem\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__cdceem_8c_source_l00202}{cdceem\+\_\+init()}}.

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .getStringDesc = \&\mbox{\hyperlink{usb__template__cdceem_8c_a7663c1a1774d0e3b8f9eb3bfaf6c8c26}{cdceem\_get\_string\_desc}},}
\DoxyCodeLine{        .ppConfigDesc = \mbox{\hyperlink{usb__template__cdceem_8c_a96d8ebb33a4ce92863f2bf007a93b18e}{cdceem\_configs}},}
\DoxyCodeLine{        .idVendor = \mbox{\hyperlink{usb__template__cdceem_8c_a151f21539428e7402f27ec02221b6192}{CDCEEM\_DEFAULT\_VENDOR\_ID}},}
\DoxyCodeLine{        .idProduct = \mbox{\hyperlink{usb__template__cdceem_8c_a4f849b25e1bcda2e167d80e891464f6d}{CDCEEM\_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__cdceem_8c_a7859c0a3efa8b1c360f5c2376baf051eaa0235c5d11787384444b298309f4b654}{CDCEEM\_MANUFACTURER\_INDEX}},}
\DoxyCodeLine{        .iProduct = \mbox{\hyperlink{usb__template__cdceem_8c_a7859c0a3efa8b1c360f5c2376baf051ea47d23e759f437ed500a85af3cc1267d3}{CDCEEM\_PRODUCT\_INDEX}},}
\DoxyCodeLine{        .iSerialNumber = \mbox{\hyperlink{usb__template__cdceem_8c_a7859c0a3efa8b1c360f5c2376baf051ea1116faa40ba4461682aef96c6879a163}{CDCEEM\_SERIAL\_NUMBER\_INDEX}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__cdceem_8c_source_l00156}{156}} of file \mbox{\hyperlink{usb__template__cdceem_8c_source}{usb\+\_\+template\+\_\+cdceem.\+c}}.



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

