\hypertarget{usb__template__mouse_8c}{}\doxysection{dev/usb/template/usb\+\_\+template\+\_\+mouse.c File Reference}
\label{usb__template__mouse_8c}\index{dev/usb/template/usb\_template\_mouse.c@{dev/usb/template/usb\_template\_mouse.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\+\_\+cdc.\+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\+\_\+mouse.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d7f/usb__template__mouse_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{usb__template__mouse_8c_a0f87e4203b2b9c6f561facd31461780a}{MOUSE\+\_\+\+DEFAULT\+\_\+\+VENDOR\+\_\+\+ID}}~\mbox{\hyperlink{usb__template_8h_a4eb1c883c2f66f7f4ae94383fd6e01e3}{USB\+\_\+\+TEMPLATE\+\_\+\+VENDOR}}
\item 
\#define \mbox{\hyperlink{usb__template__mouse_8c_ab80a6869438fc4cdfb99f5efc5b3e4a4}{MOUSE\+\_\+\+DEFAULT\+\_\+\+PRODUCT\+\_\+\+ID}}~0x27da
\item 
\#define \mbox{\hyperlink{usb__template__mouse_8c_ab8e28a2f198e0e2e5a6356495056d22d}{MOUSE\+\_\+\+DEFAULT\+\_\+\+INTERFACE}}~\char`\"{}Mouse interface\char`\"{}
\item 
\#define \mbox{\hyperlink{usb__template__mouse_8c_a994e24afa126f2f4742eb78d281a1d30}{MOUSE\+\_\+\+DEFAULT\+\_\+\+MANUFACTURER}}~\mbox{\hyperlink{usb__template_8h_a1a5f2918512e51fd0164ca8208965e24}{USB\+\_\+\+TEMPLATE\+\_\+\+MANUFACTURER}}
\item 
\#define \mbox{\hyperlink{usb__template__mouse_8c_ac1b581c83906bd43633c995b0a2e252e}{MOUSE\+\_\+\+DEFAULT\+\_\+\+PRODUCT}}~\char`\"{}Mouse Test Interface\char`\"{}
\item 
\#define \mbox{\hyperlink{usb__template__mouse_8c_a92f4508603add6f1370bbf7b9144dac7}{MOUSE\+\_\+\+DEFAULT\+\_\+\+SERIAL\+\_\+\+NUMBER}}~\char`\"{}March 2008\char`\"{}
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \{ \newline
\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa25b97b7d9ac7d997a80eef1245f95ff4}{MOUSE\+\_\+\+LANG\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caae87c9e1d4e1ce8c8fa9f63817fca0273}{MOUSE\+\_\+\+INTERFACE\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa615032e1287f0586c8bc9f592ccd6d03}{MOUSE\+\_\+\+MANUFACTURER\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa2b1b5fd5183b378528e848a6e52bcb55}{MOUSE\+\_\+\+PRODUCT\+\_\+\+INDEX}}
, \newline
\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa71a483c2a3b24acec47c44dda0d5d95f}{MOUSE\+\_\+\+SERIAL\+\_\+\+NUMBER\+\_\+\+INDEX}}
, \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caaa69d353734d6a9117d1f1457819c4f8e}{MOUSE\+\_\+\+MAX\+\_\+\+INDEX}}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static const void $\ast$ \mbox{\hyperlink{usb__template__mouse_8c_ae040ef4a5568f6828d0e208a7d8c123a}{mouse\+\_\+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__mouse_8c_abc132293404aeb69ff299357dc0cd62b}{mouse\+\_\+get\+\_\+string\+\_\+desc}} (uint16\+\_\+t lang\+\_\+id, uint8\+\_\+t string\+\_\+index)
\item 
static void \mbox{\hyperlink{usb__template__mouse_8c_aa966fe1340b5d01183082c9a43864790}{mouse\+\_\+init}} (void $\ast$arg \+\_\+\+\_\+unused)
\item 
static void \mbox{\hyperlink{usb__template__mouse_8c_a5707ed93db90f293e50b9ea10a63e8c6}{mouse\+\_\+uninit}} (void $\ast$arg \+\_\+\+\_\+unused)
\item 
\mbox{\hyperlink{usb__template__mouse_8c_a0452c50156df647e6915241f636932f3}{SYSINIT}} (\mbox{\hyperlink{usb__template__mouse_8c_aa966fe1340b5d01183082c9a43864790}{mouse\+\_\+init}}, SI\+\_\+\+SUB\+\_\+\+LOCK, SI\+\_\+\+ORDER\+\_\+\+FIRST, \mbox{\hyperlink{usb__template__mouse_8c_aa966fe1340b5d01183082c9a43864790}{mouse\+\_\+init}}, NULL)
\item 
\mbox{\hyperlink{usb__template__mouse_8c_abc89cbc1c410c56d4709e92b8f29228b}{SYSUNINIT}} (\mbox{\hyperlink{usb__template__mouse_8c_a5707ed93db90f293e50b9ea10a63e8c6}{mouse\+\_\+uninit}}, SI\+\_\+\+SUB\+\_\+\+LOCK, SI\+\_\+\+ORDER\+\_\+\+FIRST, \mbox{\hyperlink{usb__template__mouse_8c_a5707ed93db90f293e50b9ea10a63e8c6}{mouse\+\_\+uninit}}, NULL)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__mouse_8c_a78daf6dd3367c0a15aa84df94b8ad4e5}{mouse\+\_\+interface}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__mouse_8c_a80405c74fa439c97dc59c8e60037bfe6}{mouse\+\_\+manufacturer}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__mouse_8c_a5a304802333169211740a14b0acc4db7}{mouse\+\_\+product}}
\item 
static struct \mbox{\hyperlink{structusb__string__descriptor}{usb\+\_\+string\+\_\+descriptor}} \mbox{\hyperlink{usb__template__mouse_8c_a3864bfbef640dc9552486ed14643fc6f}{mouse\+\_\+serial\+\_\+number}}
\item 
static struct sysctl\+\_\+ctx\+\_\+list \mbox{\hyperlink{usb__template__mouse_8c_a7b82db748aebcdf2d271082cffe56f3b}{mouse\+\_\+ctx\+\_\+list}}
\item 
static uint8\+\_\+t \mbox{\hyperlink{usb__template__mouse_8c_a60fb64bb2651260925ece83a34656165}{mouse\+\_\+hid\+\_\+descriptor}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structusb__temp__packet__size}{usb\+\_\+temp\+\_\+packet\+\_\+size}} \mbox{\hyperlink{usb__template__mouse_8c_a1c5894c8d086302e33f6c943eca10065}{mouse\+\_\+intr\+\_\+mps}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__interval}{usb\+\_\+temp\+\_\+interval}} \mbox{\hyperlink{usb__template__mouse_8c_a675e63b24bdd4b9614a1105ba331b299}{mouse\+\_\+intr\+\_\+interval}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} \mbox{\hyperlink{usb__template__mouse_8c_a9ac14b508b46513be179a7c7b3fc0bc8}{mouse\+\_\+ep\+\_\+0}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} $\ast$ \mbox{\hyperlink{usb__template__mouse_8c_a7cdfc57f2d4cc59d3eaaedb23afc9186}{mouse\+\_\+endpoints}} \mbox{[}$\,$\mbox{]}
\item 
static const uint8\+\_\+t \mbox{\hyperlink{usb__template__mouse_8c_a9bf6f3e8edb01636e82e71372d6fbf60}{mouse\+\_\+raw\+\_\+desc}} \mbox{[}$\,$\mbox{]}
\item 
static const void $\ast$ \mbox{\hyperlink{usb__template__mouse_8c_adc7baf18424f9643dd198d6eb698113d}{mouse\+\_\+iface\+\_\+0\+\_\+desc}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structusb__temp__interface__desc}{usb\+\_\+temp\+\_\+interface\+\_\+desc}} \mbox{\hyperlink{usb__template__mouse_8c_a6e58ec067c41f9a0944ea1e8e0b75e8c}{mouse\+\_\+iface\+\_\+0}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__interface__desc}{usb\+\_\+temp\+\_\+interface\+\_\+desc}} $\ast$ \mbox{\hyperlink{usb__template__mouse_8c_a79504699e8c54854cfa5e6b3759de1c1}{mouse\+\_\+interfaces}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structusb__temp__config__desc}{usb\+\_\+temp\+\_\+config\+\_\+desc}} \mbox{\hyperlink{usb__template__mouse_8c_a5198b8c29d05435737de7aa5630af3cd}{mouse\+\_\+config\+\_\+desc}}
\item 
static const struct \mbox{\hyperlink{structusb__temp__config__desc}{usb\+\_\+temp\+\_\+config\+\_\+desc}} $\ast$ \mbox{\hyperlink{usb__template__mouse_8c_a39b65a37a1ab7c68a817d37cefd77aef}{mouse\+\_\+configs}} \mbox{[}$\,$\mbox{]}
\item 
static \mbox{\hyperlink{usb__template_8h_ab56131b3dcadea9f2be25f942a4f2af7}{usb\+\_\+temp\+\_\+get\+\_\+string\+\_\+desc\+\_\+t}} \mbox{\hyperlink{usb__template__mouse_8c_a8d6d9b9ba434341bb3c13902f3b8a985}{mouse\+\_\+get\+\_\+string\+\_\+desc}}
\item 
static \mbox{\hyperlink{usb__template_8h_ab111925929cf0aecdc4029bf4fe9a869}{usb\+\_\+temp\+\_\+get\+\_\+vendor\+\_\+desc\+\_\+t}} \mbox{\hyperlink{usb__template__mouse_8c_a9ef5a8189843a71d7684ccefb67e5d7b}{mouse\+\_\+get\+\_\+vendor\+\_\+desc}}
\item 
struct \mbox{\hyperlink{structusb__temp__device__desc}{usb\+\_\+temp\+\_\+device\+\_\+desc}} \mbox{\hyperlink{usb__template__mouse_8c_a2f61f4a46537c9e66c7e5eade75c92c7}{usb\+\_\+template\+\_\+mouse}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{usb__template__mouse_8c_ab8e28a2f198e0e2e5a6356495056d22d}\label{usb__template__mouse_8c_ab8e28a2f198e0e2e5a6356495056d22d}} 
\index{usb\_template\_mouse.c@{usb\_template\_mouse.c}!MOUSE\_DEFAULT\_INTERFACE@{MOUSE\_DEFAULT\_INTERFACE}}
\index{MOUSE\_DEFAULT\_INTERFACE@{MOUSE\_DEFAULT\_INTERFACE}!usb\_template\_mouse.c@{usb\_template\_mouse.c}}
\doxysubsubsection{\texorpdfstring{MOUSE\_DEFAULT\_INTERFACE}{MOUSE\_DEFAULT\_INTERFACE}}
{\footnotesize\ttfamily \#define MOUSE\+\_\+\+DEFAULT\+\_\+\+INTERFACE~\char`\"{}Mouse interface\char`\"{}}



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00081}{81}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00082}{82}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

\mbox{\Hypertarget{usb__template__mouse_8c_ac1b581c83906bd43633c995b0a2e252e}\label{usb__template__mouse_8c_ac1b581c83906bd43633c995b0a2e252e}} 
\index{usb\_template\_mouse.c@{usb\_template\_mouse.c}!MOUSE\_DEFAULT\_PRODUCT@{MOUSE\_DEFAULT\_PRODUCT}}
\index{MOUSE\_DEFAULT\_PRODUCT@{MOUSE\_DEFAULT\_PRODUCT}!usb\_template\_mouse.c@{usb\_template\_mouse.c}}
\doxysubsubsection{\texorpdfstring{MOUSE\_DEFAULT\_PRODUCT}{MOUSE\_DEFAULT\_PRODUCT}}
{\footnotesize\ttfamily \#define MOUSE\+\_\+\+DEFAULT\+\_\+\+PRODUCT~\char`\"{}Mouse Test Interface\char`\"{}}



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00083}{83}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

\mbox{\Hypertarget{usb__template__mouse_8c_ab80a6869438fc4cdfb99f5efc5b3e4a4}\label{usb__template__mouse_8c_ab80a6869438fc4cdfb99f5efc5b3e4a4}} 
\index{usb\_template\_mouse.c@{usb\_template\_mouse.c}!MOUSE\_DEFAULT\_PRODUCT\_ID@{MOUSE\_DEFAULT\_PRODUCT\_ID}}
\index{MOUSE\_DEFAULT\_PRODUCT\_ID@{MOUSE\_DEFAULT\_PRODUCT\_ID}!usb\_template\_mouse.c@{usb\_template\_mouse.c}}
\doxysubsubsection{\texorpdfstring{MOUSE\_DEFAULT\_PRODUCT\_ID}{MOUSE\_DEFAULT\_PRODUCT\_ID}}
{\footnotesize\ttfamily \#define MOUSE\+\_\+\+DEFAULT\+\_\+\+PRODUCT\+\_\+\+ID~0x27da}



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00080}{80}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00084}{84}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00079}{79}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.



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

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

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

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

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

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

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

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00070}{70}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{usb__template__mouse_8c_abc132293404aeb69ff299357dc0cd62b}\label{usb__template__mouse_8c_abc132293404aeb69ff299357dc0cd62b}} 
\index{usb\_template\_mouse.c@{usb\_template\_mouse.c}!mouse\_get\_string\_desc@{mouse\_get\_string\_desc}}
\index{mouse\_get\_string\_desc@{mouse\_get\_string\_desc}!usb\_template\_mouse.c@{usb\_template\_mouse.c}}
\doxysubsubsection{\texorpdfstring{mouse\_get\_string\_desc()}{mouse\_get\_string\_desc()}}
{\footnotesize\ttfamily static const void $\ast$ mouse\+\_\+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__mouse_8c_source_l00213}{213}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.



References \mbox{\hyperlink{usb__template__mouse_8c_source_l00086}{mouse\+\_\+interface}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00072}{MOUSE\+\_\+\+INTERFACE\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00071}{MOUSE\+\_\+\+LANG\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00087}{mouse\+\_\+manufacturer}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00073}{MOUSE\+\_\+\+MANUFACTURER\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00076}{MOUSE\+\_\+\+MAX\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00088}{mouse\+\_\+product}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00074}{MOUSE\+\_\+\+PRODUCT\+\_\+\+INDEX}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00089}{mouse\+\_\+serial\+\_\+number}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00075}{MOUSE\+\_\+\+SERIAL\+\_\+\+NUMBER\+\_\+\+INDEX}}, and \mbox{\hyperlink{usb__core_8c_source_l00063}{usb\+\_\+string\+\_\+lang\+\_\+en}}.

\mbox{\Hypertarget{usb__template__mouse_8c_ae040ef4a5568f6828d0e208a7d8c123a}\label{usb__template__mouse_8c_ae040ef4a5568f6828d0e208a7d8c123a}} 
\index{usb\_template\_mouse.c@{usb\_template\_mouse.c}!mouse\_get\_vendor\_desc@{mouse\_get\_vendor\_desc}}
\index{mouse\_get\_vendor\_desc@{mouse\_get\_vendor\_desc}!usb\_template\_mouse.c@{usb\_template\_mouse.c}}
\doxysubsubsection{\texorpdfstring{mouse\_get\_vendor\_desc()}{mouse\_get\_vendor\_desc()}}
{\footnotesize\ttfamily static const void $\ast$ mouse\+\_\+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__mouse_8c_source_l00194}{194}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.



References \mbox{\hyperlink{usb__template__mouse_8c_source_l00097}{mouse\+\_\+hid\+\_\+descriptor}}, \mbox{\hyperlink{usb__if_8m_source_l00053}{plen}}, and \mbox{\hyperlink{usb__if_8m_source_l00051}{req}}.

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



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00236}{236}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+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__mouse_8c_source_l00091}{mouse\+\_\+ctx\+\_\+list}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00081}{MOUSE\+\_\+\+DEFAULT\+\_\+\+INTERFACE}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00082}{MOUSE\+\_\+\+DEFAULT\+\_\+\+MANUFACTURER}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00083}{MOUSE\+\_\+\+DEFAULT\+\_\+\+PRODUCT}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00084}{MOUSE\+\_\+\+DEFAULT\+\_\+\+SERIAL\+\_\+\+NUMBER}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00086}{mouse\+\_\+interface}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00087}{mouse\+\_\+manufacturer}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00088}{mouse\+\_\+product}}, \mbox{\hyperlink{usb__template__mouse_8c_source_l00089}{mouse\+\_\+serial\+\_\+number}}, \mbox{\hyperlink{usb__util_8c_source_l00193}{usb\+\_\+make\+\_\+str\+\_\+desc()}}, \mbox{\hyperlink{usb__ioctl_8h_source_l00058}{USB\+\_\+\+TEMP\+\_\+\+MOUSE}}, \mbox{\hyperlink{usb__template_8c_source_l00173}{usb\+\_\+temp\+\_\+sysctl()}}, and \mbox{\hyperlink{usb__template__mouse_8c_source_l00171}{usb\+\_\+template\+\_\+mouse}}.

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



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00284}{284}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.



References \mbox{\hyperlink{usb__template__mouse_8c_source_l00091}{mouse\+\_\+ctx\+\_\+list}}.

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

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



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{usb__template__mouse_8c_a5198b8c29d05435737de7aa5630af3cd}\label{usb__template__mouse_8c_a5198b8c29d05435737de7aa5630af3cd}} 
\index{usb\_template\_mouse.c@{usb\_template\_mouse.c}!mouse\_config\_desc@{mouse\_config\_desc}}
\index{mouse\_config\_desc@{mouse\_config\_desc}!usb\_template\_mouse.c@{usb\_template\_mouse.c}}
\doxysubsubsection{\texorpdfstring{mouse\_config\_desc}{mouse\_config\_desc}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__config__desc}{usb\+\_\+temp\+\_\+config\+\_\+desc}} mouse\+\_\+config\+\_\+desc\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .ppIfaceDesc = \mbox{\hyperlink{usb__template__mouse_8c_a79504699e8c54854cfa5e6b3759de1c1}{mouse\_interfaces}},}
\DoxyCodeLine{        .bmAttributes = 0,}
\DoxyCodeLine{        .bMaxPower = 0,}
\DoxyCodeLine{        .iConfiguration = \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caae87c9e1d4e1ce8c8fa9f63817fca0273}{MOUSE\_INTERFACE\_INDEX}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00156}{156}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

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

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

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00163}{163}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00091}{91}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__mouse_8c_source_l00236}{mouse\+\_\+init()}}, and \mbox{\hyperlink{usb__template__mouse_8c_source_l00284}{mouse\+\_\+uninit()}}.

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&\mbox{\hyperlink{usb__template__mouse_8c_a9ac14b508b46513be179a7c7b3fc0bc8}{mouse\_ep\_0}},}
\DoxyCodeLine{        NULL,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00127}{127}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

\mbox{\Hypertarget{usb__template__mouse_8c_a9ac14b508b46513be179a7c7b3fc0bc8}\label{usb__template__mouse_8c_a9ac14b508b46513be179a7c7b3fc0bc8}} 
\index{usb\_template\_mouse.c@{usb\_template\_mouse.c}!mouse\_ep\_0@{mouse\_ep\_0}}
\index{mouse\_ep\_0@{mouse\_ep\_0}!usb\_template\_mouse.c@{usb\_template\_mouse.c}}
\doxysubsubsection{\texorpdfstring{mouse\_ep\_0}{mouse\_ep\_0}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\+\_\+temp\+\_\+endpoint\+\_\+desc}} mouse\+\_\+ep\+\_\+0\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .ppRawDesc = NULL,              }
\DoxyCodeLine{        .pPacketSize = \&\mbox{\hyperlink{usb__template__mouse_8c_a1c5894c8d086302e33f6c943eca10065}{mouse\_intr\_mps}},}
\DoxyCodeLine{        .pIntervals = \&\mbox{\hyperlink{usb__template__mouse_8c_a675e63b24bdd4b9614a1105ba331b299}{mouse\_intr\_interval}},}
\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__mouse_8c_source_l00119}{119}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00168}{168}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00169}{169}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

\mbox{\Hypertarget{usb__template__mouse_8c_a60fb64bb2651260925ece83a34656165}\label{usb__template__mouse_8c_a60fb64bb2651260925ece83a34656165}} 
\index{usb\_template\_mouse.c@{usb\_template\_mouse.c}!mouse\_hid\_descriptor@{mouse\_hid\_descriptor}}
\index{mouse\_hid\_descriptor@{mouse\_hid\_descriptor}!usb\_template\_mouse.c@{usb\_template\_mouse.c}}
\doxysubsubsection{\texorpdfstring{mouse\_hid\_descriptor}{mouse\_hid\_descriptor}}
{\footnotesize\ttfamily uint8\+\_\+t mouse\+\_\+hid\+\_\+descriptor\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01,}
\DoxyCodeLine{        0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03,}
\DoxyCodeLine{        0x15, 0x00, 0x25, 0x01, 0x95, 0x03, 0x75, 0x01,}
\DoxyCodeLine{        0x81, 0x02, 0x95, 0x05, 0x81, 0x03, 0x05, 0x01,}
\DoxyCodeLine{        0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81,}
\DoxyCodeLine{        0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06,}
\DoxyCodeLine{        0xc0, 0xc0}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00097}{97}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__mouse_8c_source_l00194}{mouse\+\_\+get\+\_\+vendor\+\_\+desc()}}.

\mbox{\Hypertarget{usb__template__mouse_8c_a6e58ec067c41f9a0944ea1e8e0b75e8c}\label{usb__template__mouse_8c_a6e58ec067c41f9a0944ea1e8e0b75e8c}} 
\index{usb\_template\_mouse.c@{usb\_template\_mouse.c}!mouse\_iface\_0@{mouse\_iface\_0}}
\index{mouse\_iface\_0@{mouse\_iface\_0}!usb\_template\_mouse.c@{usb\_template\_mouse.c}}
\doxysubsubsection{\texorpdfstring{mouse\_iface\_0}{mouse\_iface\_0}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__interface__desc}{usb\+\_\+temp\+\_\+interface\+\_\+desc}} mouse\+\_\+iface\+\_\+0\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .ppRawDesc = \mbox{\hyperlink{usb__template__mouse_8c_adc7baf18424f9643dd198d6eb698113d}{mouse\_iface\_0\_desc}},}
\DoxyCodeLine{        .ppEndpoints = \mbox{\hyperlink{usb__template__mouse_8c_a7cdfc57f2d4cc59d3eaaedb23afc9186}{mouse\_endpoints}},}
\DoxyCodeLine{        .bInterfaceClass = \mbox{\hyperlink{usb_8h_a77eca6d49a1f0f93fb31aad0ef2f33b4}{UICLASS\_HID}},}
\DoxyCodeLine{        .bInterfaceSubClass = \mbox{\hyperlink{usb_8h_a52fa495c7147e166f647c179db74b0bd}{UISUBCLASS\_BOOT}},}
\DoxyCodeLine{        .bInterfaceProtocol = \mbox{\hyperlink{usb_8h_accb9a682a6a90dd82a1d0f46b1420578}{UIPROTO\_MOUSE}},}
\DoxyCodeLine{        .iInterface = \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caae87c9e1d4e1ce8c8fa9f63817fca0273}{MOUSE\_INTERFACE\_INDEX}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00142}{142}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

\mbox{\Hypertarget{usb__template__mouse_8c_adc7baf18424f9643dd198d6eb698113d}\label{usb__template__mouse_8c_adc7baf18424f9643dd198d6eb698113d}} 
\index{usb\_template\_mouse.c@{usb\_template\_mouse.c}!mouse\_iface\_0\_desc@{mouse\_iface\_0\_desc}}
\index{mouse\_iface\_0\_desc@{mouse\_iface\_0\_desc}!usb\_template\_mouse.c@{usb\_template\_mouse.c}}
\doxysubsubsection{\texorpdfstring{mouse\_iface\_0\_desc}{mouse\_iface\_0\_desc}}
{\footnotesize\ttfamily const void$\ast$ mouse\+\_\+iface\+\_\+0\+\_\+desc\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \mbox{\hyperlink{usb__template__mouse_8c_a9bf6f3e8edb01636e82e71372d6fbf60}{mouse\_raw\_desc}},}
\DoxyCodeLine{        NULL,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00137}{137}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00086}{86}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__mouse_8c_source_l00213}{mouse\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__mouse_8c_source_l00236}{mouse\+\_\+init()}}.

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&\mbox{\hyperlink{usb__template__mouse_8c_a6e58ec067c41f9a0944ea1e8e0b75e8c}{mouse\_iface\_0}},}
\DoxyCodeLine{        NULL,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00151}{151}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

\mbox{\Hypertarget{usb__template__mouse_8c_a675e63b24bdd4b9614a1105ba331b299}\label{usb__template__mouse_8c_a675e63b24bdd4b9614a1105ba331b299}} 
\index{usb\_template\_mouse.c@{usb\_template\_mouse.c}!mouse\_intr\_interval@{mouse\_intr\_interval}}
\index{mouse\_intr\_interval@{mouse\_intr\_interval}!usb\_template\_mouse.c@{usb\_template\_mouse.c}}
\doxysubsubsection{\texorpdfstring{mouse\_intr\_interval}{mouse\_intr\_interval}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structusb__temp__interval}{usb\+\_\+temp\+\_\+interval}} mouse\+\_\+intr\+\_\+interval\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bInterval[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa0ec4f8f66feaf7ee8f2ee618302e9470}{USB\_SPEED\_LOW}}] = 2,             }
\DoxyCodeLine{        .bInterval[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa0f17d0b9928086c6114fea73e08f1780}{USB\_SPEED\_FULL}}] = 2,           }
\DoxyCodeLine{        .bInterval[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa57eeede6d769b09c01ac9c9c62fef8c9}{USB\_SPEED\_HIGH}}] = 5,           }
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00113}{113}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

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

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

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00107}{107}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00087}{87}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__mouse_8c_source_l00213}{mouse\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__mouse_8c_source_l00236}{mouse\+\_\+init()}}.

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



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00088}{88}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__mouse_8c_source_l00213}{mouse\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__mouse_8c_source_l00236}{mouse\+\_\+init()}}.

\mbox{\Hypertarget{usb__template__mouse_8c_a9bf6f3e8edb01636e82e71372d6fbf60}\label{usb__template__mouse_8c_a9bf6f3e8edb01636e82e71372d6fbf60}} 
\index{usb\_template\_mouse.c@{usb\_template\_mouse.c}!mouse\_raw\_desc@{mouse\_raw\_desc}}
\index{mouse\_raw\_desc@{mouse\_raw\_desc}!usb\_template\_mouse.c@{usb\_template\_mouse.c}}
\doxysubsubsection{\texorpdfstring{mouse\_raw\_desc}{mouse\_raw\_desc}}
{\footnotesize\ttfamily const uint8\+\_\+t mouse\+\_\+raw\+\_\+desc\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        0x09, 0x21, 0x10, 0x01, 0x00, 0x01, 0x22, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mouse_8c_a60fb64bb2651260925ece83a34656165}{mouse\_hid\_descriptor}}),}
\DoxyCodeLine{        0x00}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00132}{132}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.

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



Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00089}{89}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.



Referenced by \mbox{\hyperlink{usb__template__mouse_8c_source_l00213}{mouse\+\_\+get\+\_\+string\+\_\+desc()}}, and \mbox{\hyperlink{usb__template__mouse_8c_source_l00236}{mouse\+\_\+init()}}.

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .getStringDesc = \&\mbox{\hyperlink{usb__template__mouse_8c_a8d6d9b9ba434341bb3c13902f3b8a985}{mouse\_get\_string\_desc}},}
\DoxyCodeLine{        .getVendorDesc = \&\mbox{\hyperlink{usb__template__mouse_8c_a9ef5a8189843a71d7684ccefb67e5d7b}{mouse\_get\_vendor\_desc}},}
\DoxyCodeLine{        .ppConfigDesc = \mbox{\hyperlink{usb__template__mouse_8c_a39b65a37a1ab7c68a817d37cefd77aef}{mouse\_configs}},}
\DoxyCodeLine{        .idVendor = \mbox{\hyperlink{usb__template__mouse_8c_a0f87e4203b2b9c6f561facd31461780a}{MOUSE\_DEFAULT\_VENDOR\_ID}},}
\DoxyCodeLine{        .idProduct = \mbox{\hyperlink{usb__template__mouse_8c_ab80a6869438fc4cdfb99f5efc5b3e4a4}{MOUSE\_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__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa615032e1287f0586c8bc9f592ccd6d03}{MOUSE\_MANUFACTURER\_INDEX}},}
\DoxyCodeLine{        .iProduct = \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa2b1b5fd5183b378528e848a6e52bcb55}{MOUSE\_PRODUCT\_INDEX}},}
\DoxyCodeLine{        .iSerialNumber = \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa71a483c2a3b24acec47c44dda0d5d95f}{MOUSE\_SERIAL\_NUMBER\_INDEX}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{usb__template__mouse_8c_source_l00171}{171}} of file \mbox{\hyperlink{usb__template__mouse_8c_source}{usb\+\_\+template\+\_\+mouse.\+c}}.



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

