\hypertarget{usb__template__mouse_8c_source}{}\doxysection{usb\+\_\+template\+\_\+mouse.\+c}
\label{usb__template__mouse_8c_source}\index{dev/usb/template/usb\_template\_mouse.c@{dev/usb/template/usb\_template\_mouse.c}}
\mbox{\hyperlink{usb__template__mouse_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00001}00001 \textcolor{comment}{/* \$FreeBSD\$ */}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00002}00002 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00003}00003 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/2-\/Clause-\/FreeBSD}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00004}00004 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00005}00005 \textcolor{comment}{ * Copyright (c) 2010 Hans Petter Selasky}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00006}00006 \textcolor{comment}{ * Copyright (c) 2018 The FreeBSD Foundation}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00007}00007 \textcolor{comment}{ * All rights reserved.}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00008}00008 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00009}00009 \textcolor{comment}{ * Portions of this software were developed by Edward Tomasz Napierala}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00010}00010 \textcolor{comment}{ * under sponsorship from the FreeBSD Foundation.}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00011}00011 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00012}00012 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00013}00013 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00014}00014 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00015}00015 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00016}00016 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00017}00017 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00018}00018 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00019}00019 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00020}00020 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00021}00021 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00022}00022 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00023}00023 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00024}00024 \textcolor{comment}{ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00025}00025 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00026}00026 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00027}00027 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00028}00028 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00029}00029 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00030}00030 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00031}00031 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00032}00032 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00033}00033 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00034}00034 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00035}00035 \textcolor{comment}{ * This file contains the USB template for an USB Mouse Device.}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00036}00036 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00037}00037 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00038}00038 \textcolor{preprocessor}{\#ifdef USB\_GLOBAL\_INCLUDE\_FILE}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00039}00039 \textcolor{preprocessor}{\#include USB\_GLOBAL\_INCLUDE\_FILE}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00040}00040 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00041}00041 \textcolor{preprocessor}{\#include <sys/stdint.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00042}00042 \textcolor{preprocessor}{\#include <sys/stddef.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00043}00043 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00044}00044 \textcolor{preprocessor}{\#include <sys/queue.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00045}00045 \textcolor{preprocessor}{\#include <sys/types.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00046}00046 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00047}00047 \textcolor{preprocessor}{\#include <sys/kernel.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00048}00048 \textcolor{preprocessor}{\#include <sys/bus.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00049}00049 \textcolor{preprocessor}{\#include <sys/module.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00050}00050 \textcolor{preprocessor}{\#include <sys/lock.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00051}00051 \textcolor{preprocessor}{\#include <sys/mutex.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00052}00052 \textcolor{preprocessor}{\#include <sys/condvar.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00053}00053 \textcolor{preprocessor}{\#include <sys/sysctl.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00054}00054 \textcolor{preprocessor}{\#include <sys/sx.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00055}00055 \textcolor{preprocessor}{\#include <sys/unistd.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00056}00056 \textcolor{preprocessor}{\#include <sys/callout.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00057}00057 \textcolor{preprocessor}{\#include <sys/malloc.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00058}00058 \textcolor{preprocessor}{\#include <sys/priv.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00059}00059 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00060}00060 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb_8h}{dev/usb/usb.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00061}00061 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usbdi_8h}{dev/usb/usbdi.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00062}00062 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__core_8h}{dev/usb/usb\_core.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00063}00063 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__cdc_8h}{dev/usb/usb\_cdc.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00064}00064 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__ioctl_8h}{dev/usb/usb\_ioctl.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00065}00065 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__util_8h}{dev/usb/usb\_util.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00066}00066 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00067}00067 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__template_8h}{dev/usb/template/usb\_template.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00068}00068 \textcolor{preprocessor}{\#endif                  }\textcolor{comment}{/* USB\_GLOBAL\_INCLUDE\_FILE */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00069}00069 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00070}00070 \textcolor{keyword}{enum} \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00071}\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa25b97b7d9ac7d997a80eef1245f95ff4}{00071}}         \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa25b97b7d9ac7d997a80eef1245f95ff4}{MOUSE\_LANG\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00072}\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caae87c9e1d4e1ce8c8fa9f63817fca0273}{00072}}         \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caae87c9e1d4e1ce8c8fa9f63817fca0273}{MOUSE\_INTERFACE\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00073}\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa615032e1287f0586c8bc9f592ccd6d03}{00073}}         \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa615032e1287f0586c8bc9f592ccd6d03}{MOUSE\_MANUFACTURER\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00074}\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa2b1b5fd5183b378528e848a6e52bcb55}{00074}}         \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa2b1b5fd5183b378528e848a6e52bcb55}{MOUSE\_PRODUCT\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00075}\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa71a483c2a3b24acec47c44dda0d5d95f}{00075}}         \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa71a483c2a3b24acec47c44dda0d5d95f}{MOUSE\_SERIAL\_NUMBER\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00076}\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caaa69d353734d6a9117d1f1457819c4f8e}{00076}}         \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caaa69d353734d6a9117d1f1457819c4f8e}{MOUSE\_MAX\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00077}00077 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00078}00078 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00079}\mbox{\hyperlink{usb__template__mouse_8c_a0f87e4203b2b9c6f561facd31461780a}{00079}} \textcolor{preprocessor}{\#define MOUSE\_DEFAULT\_VENDOR\_ID         USB\_TEMPLATE\_VENDOR}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00080}\mbox{\hyperlink{usb__template__mouse_8c_ab80a6869438fc4cdfb99f5efc5b3e4a4}{00080}} \textcolor{preprocessor}{\#define MOUSE\_DEFAULT\_PRODUCT\_ID        0x27da}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00081}\mbox{\hyperlink{usb__template__mouse_8c_ab8e28a2f198e0e2e5a6356495056d22d}{00081}} \textcolor{preprocessor}{\#define MOUSE\_DEFAULT\_INTERFACE         "{}Mouse interface"{}}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00082}\mbox{\hyperlink{usb__template__mouse_8c_a994e24afa126f2f4742eb78d281a1d30}{00082}} \textcolor{preprocessor}{\#define MOUSE\_DEFAULT\_MANUFACTURER      USB\_TEMPLATE\_MANUFACTURER}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00083}\mbox{\hyperlink{usb__template__mouse_8c_ac1b581c83906bd43633c995b0a2e252e}{00083}} \textcolor{preprocessor}{\#define MOUSE\_DEFAULT\_PRODUCT           "{}Mouse Test Interface"{}}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00084}\mbox{\hyperlink{usb__template__mouse_8c_a92f4508603add6f1370bbf7b9144dac7}{00084}} \textcolor{preprocessor}{\#define MOUSE\_DEFAULT\_SERIAL\_NUMBER     "{}March 2008"{}}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00085}00085 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00086}\mbox{\hyperlink{usb__template__mouse_8c_a78daf6dd3367c0a15aa84df94b8ad4e5}{00086}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__string__descriptor}{usb\_string\_descriptor}}        \mbox{\hyperlink{usb__template__mouse_8c_a78daf6dd3367c0a15aa84df94b8ad4e5}{mouse\_interface}};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00087}\mbox{\hyperlink{usb__template__mouse_8c_a80405c74fa439c97dc59c8e60037bfe6}{00087}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__string__descriptor}{usb\_string\_descriptor}}        \mbox{\hyperlink{usb__template__mouse_8c_a80405c74fa439c97dc59c8e60037bfe6}{mouse\_manufacturer}};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00088}\mbox{\hyperlink{usb__template__mouse_8c_a5a304802333169211740a14b0acc4db7}{00088}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__string__descriptor}{usb\_string\_descriptor}}        \mbox{\hyperlink{usb__template__mouse_8c_a5a304802333169211740a14b0acc4db7}{mouse\_product}};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00089}\mbox{\hyperlink{usb__template__mouse_8c_a3864bfbef640dc9552486ed14643fc6f}{00089}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__string__descriptor}{usb\_string\_descriptor}}        \mbox{\hyperlink{usb__template__mouse_8c_a3864bfbef640dc9552486ed14643fc6f}{mouse\_serial\_number}};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00090}00090 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00091}\mbox{\hyperlink{usb__template__mouse_8c_a7b82db748aebcdf2d271082cffe56f3b}{00091}} \textcolor{keyword}{static} \textcolor{keyword}{struct }sysctl\_ctx\_list           \mbox{\hyperlink{usb__template__mouse_8c_a7b82db748aebcdf2d271082cffe56f3b}{mouse\_ctx\_list}};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00092}00092 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00093}00093 \textcolor{comment}{/* prototypes */}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00094}00094 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00095}00095 \textcolor{comment}{/* The following HID descriptor was dumped from a HP mouse. */}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00096}00096 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00097}\mbox{\hyperlink{usb__template__mouse_8c_a60fb64bb2651260925ece83a34656165}{00097}} \textcolor{keyword}{static} uint8\_t \mbox{\hyperlink{usb__template__mouse_8c_a60fb64bb2651260925ece83a34656165}{mouse\_hid\_descriptor}}[] = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00098}00098         0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00099}00099         0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00100}00100         0x15, 0x00, 0x25, 0x01, 0x95, 0x03, 0x75, 0x01,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00101}00101         0x81, 0x02, 0x95, 0x05, 0x81, 0x03, 0x05, 0x01,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00102}00102         0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00103}00103         0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00104}00104         0xc0, 0xc0}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00105}00105 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00106}00106 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00107}\mbox{\hyperlink{usb__template__mouse_8c_a1c5894c8d086302e33f6c943eca10065}{00107}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__packet__size}{usb\_temp\_packet\_size}} \mbox{\hyperlink{usb__template__mouse_8c_a1c5894c8d086302e33f6c943eca10065}{mouse\_intr\_mps}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00108}00108         .\mbox{\hyperlink{structusb__temp__packet__size_a1e72dec91037be6b45fcb2a7b8a6034a}{mps}}[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa0ec4f8f66feaf7ee8f2ee618302e9470}{USB\_SPEED\_LOW}}] = 8,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00109}00109         .mps[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa0f17d0b9928086c6114fea73e08f1780}{USB\_SPEED\_FULL}}] = 8,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00110}00110         .mps[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa57eeede6d769b09c01ac9c9c62fef8c9}{USB\_SPEED\_HIGH}}] = 8,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00111}00111 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00112}00112 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00113}\mbox{\hyperlink{usb__template__mouse_8c_a675e63b24bdd4b9614a1105ba331b299}{00113}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__interval}{usb\_temp\_interval}} \mbox{\hyperlink{usb__template__mouse_8c_a675e63b24bdd4b9614a1105ba331b299}{mouse\_intr\_interval}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00114}00114         .\mbox{\hyperlink{structusb__temp__interval_a5cd37cfd16db2cf6c5c87e30cbd678c1}{bInterval}}[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa0ec4f8f66feaf7ee8f2ee618302e9470}{USB\_SPEED\_LOW}}] = 2,            \textcolor{comment}{/* 2ms */}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00115}00115         .bInterval[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa0f17d0b9928086c6114fea73e08f1780}{USB\_SPEED\_FULL}}] = 2,           \textcolor{comment}{/* 2ms */}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00116}00116         .bInterval[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa57eeede6d769b09c01ac9c9c62fef8c9}{USB\_SPEED\_HIGH}}] = 5,           \textcolor{comment}{/* 2ms */}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00117}00117 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00118}00118 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00119}\mbox{\hyperlink{usb__template__mouse_8c_a9ac14b508b46513be179a7c7b3fc0bc8}{00119}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\_temp\_endpoint\_desc}} \mbox{\hyperlink{usb__template__mouse_8c_a9ac14b508b46513be179a7c7b3fc0bc8}{mouse\_ep\_0}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00120}00120         .\mbox{\hyperlink{structusb__temp__endpoint__desc_ac747053bd19d3c55d2d8fda43db33cf3}{ppRawDesc}} = NULL,             \textcolor{comment}{/* no raw descriptors */}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00121}00121         .pPacketSize = \&\mbox{\hyperlink{usb__template__mouse_8c_a1c5894c8d086302e33f6c943eca10065}{mouse\_intr\_mps}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00122}00122         .pIntervals = \&\mbox{\hyperlink{usb__template__mouse_8c_a675e63b24bdd4b9614a1105ba331b299}{mouse\_intr\_interval}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00123}00123         .bEndpointAddress = \mbox{\hyperlink{usb_8h_a72bb077a860132c175c166f344c75893}{UE\_DIR\_IN}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00124}00124         .bmAttributes = \mbox{\hyperlink{usb_8h_a01e28e87ad16f6dfffefc6ccab08baed}{UE\_INTERRUPT}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00125}00125 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00126}00126 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00127}\mbox{\hyperlink{usb__template__mouse_8c_a7cdfc57f2d4cc59d3eaaedb23afc9186}{00127}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\_temp\_endpoint\_desc}} *\mbox{\hyperlink{usb__template__mouse_8c_a7cdfc57f2d4cc59d3eaaedb23afc9186}{mouse\_endpoints}}[] = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00128}00128         \&\mbox{\hyperlink{usb__template__mouse_8c_a9ac14b508b46513be179a7c7b3fc0bc8}{mouse\_ep\_0}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00129}00129         NULL,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00130}00130 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00131}00131 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00132}\mbox{\hyperlink{usb__template__mouse_8c_a9bf6f3e8edb01636e82e71372d6fbf60}{00132}} \textcolor{keyword}{static} \textcolor{keyword}{const} uint8\_t \mbox{\hyperlink{usb__template__mouse_8c_a9bf6f3e8edb01636e82e71372d6fbf60}{mouse\_raw\_desc}}[] = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00133}00133         0x09, 0x21, 0x10, 0x01, 0x00, 0x01, 0x22, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mouse_8c_a60fb64bb2651260925ece83a34656165}{mouse\_hid\_descriptor}}),}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00134}00134         0x00}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00135}00135 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00136}00136 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00137}\mbox{\hyperlink{usb__template__mouse_8c_adc7baf18424f9643dd198d6eb698113d}{00137}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{void} *\mbox{\hyperlink{usb__template__mouse_8c_adc7baf18424f9643dd198d6eb698113d}{mouse\_iface\_0\_desc}}[] = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00138}00138         \mbox{\hyperlink{usb__template__mouse_8c_a9bf6f3e8edb01636e82e71372d6fbf60}{mouse\_raw\_desc}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00139}00139         NULL,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00140}00140 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00141}00141 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00142}\mbox{\hyperlink{usb__template__mouse_8c_a6e58ec067c41f9a0944ea1e8e0b75e8c}{00142}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__interface__desc}{usb\_temp\_interface\_desc}} \mbox{\hyperlink{usb__template__mouse_8c_a6e58ec067c41f9a0944ea1e8e0b75e8c}{mouse\_iface\_0}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00143}00143         .\mbox{\hyperlink{structusb__temp__interface__desc_abe7e968425fd9c2f434a4b8cbd2fd1bf}{ppRawDesc}} = \mbox{\hyperlink{usb__template__mouse_8c_adc7baf18424f9643dd198d6eb698113d}{mouse\_iface\_0\_desc}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00144}00144         .ppEndpoints = \mbox{\hyperlink{usb__template__mouse_8c_a7cdfc57f2d4cc59d3eaaedb23afc9186}{mouse\_endpoints}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00145}00145         .bInterfaceClass = \mbox{\hyperlink{usb_8h_a77eca6d49a1f0f93fb31aad0ef2f33b4}{UICLASS\_HID}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00146}00146         .bInterfaceSubClass = \mbox{\hyperlink{usb_8h_a52fa495c7147e166f647c179db74b0bd}{UISUBCLASS\_BOOT}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00147}00147         .bInterfaceProtocol = \mbox{\hyperlink{usb_8h_accb9a682a6a90dd82a1d0f46b1420578}{UIPROTO\_MOUSE}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00148}00148         .iInterface = \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caae87c9e1d4e1ce8c8fa9f63817fca0273}{MOUSE\_INTERFACE\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00149}00149 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00150}00150 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00151}\mbox{\hyperlink{usb__template__mouse_8c_a79504699e8c54854cfa5e6b3759de1c1}{00151}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__interface__desc}{usb\_temp\_interface\_desc}} *\mbox{\hyperlink{usb__template__mouse_8c_a79504699e8c54854cfa5e6b3759de1c1}{mouse\_interfaces}}[] = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00152}00152         \&\mbox{\hyperlink{usb__template__mouse_8c_a6e58ec067c41f9a0944ea1e8e0b75e8c}{mouse\_iface\_0}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00153}00153         NULL,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00154}00154 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00155}00155 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00156}\mbox{\hyperlink{usb__template__mouse_8c_a5198b8c29d05435737de7aa5630af3cd}{00156}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__config__desc}{usb\_temp\_config\_desc}} \mbox{\hyperlink{usb__template__mouse_8c_a5198b8c29d05435737de7aa5630af3cd}{mouse\_config\_desc}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00157}00157         .\mbox{\hyperlink{structusb__temp__config__desc_a2b5fac2213f207fc7ab491eadd3e1c04}{ppIfaceDesc}} = \mbox{\hyperlink{usb__template__mouse_8c_a79504699e8c54854cfa5e6b3759de1c1}{mouse\_interfaces}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00158}00158         .bmAttributes = 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00159}00159         .bMaxPower = 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00160}00160         .iConfiguration = \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caae87c9e1d4e1ce8c8fa9f63817fca0273}{MOUSE\_INTERFACE\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00161}00161 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00162}00162 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00163}\mbox{\hyperlink{usb__template__mouse_8c_a39b65a37a1ab7c68a817d37cefd77aef}{00163}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__config__desc}{usb\_temp\_config\_desc}} *\mbox{\hyperlink{usb__template__mouse_8c_a39b65a37a1ab7c68a817d37cefd77aef}{mouse\_configs}}[] = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00164}00164         \&\mbox{\hyperlink{usb__template__mouse_8c_a5198b8c29d05435737de7aa5630af3cd}{mouse\_config\_desc}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00165}00165         NULL,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00166}00166 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00167}00167 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00168}\mbox{\hyperlink{usb__template__mouse_8c_a8d6d9b9ba434341bb3c13902f3b8a985}{00168}} \textcolor{keyword}{static} \mbox{\hyperlink{usb__template_8h_ab56131b3dcadea9f2be25f942a4f2af7}{usb\_temp\_get\_string\_desc\_t}} \mbox{\hyperlink{usb__template__mouse_8c_a8d6d9b9ba434341bb3c13902f3b8a985}{mouse\_get\_string\_desc}};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00169}\mbox{\hyperlink{usb__template__mouse_8c_a9ef5a8189843a71d7684ccefb67e5d7b}{00169}} \textcolor{keyword}{static} \mbox{\hyperlink{usb__template_8h_ab111925929cf0aecdc4029bf4fe9a869}{usb\_temp\_get\_vendor\_desc\_t}} \mbox{\hyperlink{usb__template__mouse_8c_a9ef5a8189843a71d7684ccefb67e5d7b}{mouse\_get\_vendor\_desc}};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00170}00170 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00171}\mbox{\hyperlink{usb__template_8h_a2f61f4a46537c9e66c7e5eade75c92c7}{00171}} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__device__desc}{usb\_temp\_device\_desc}} \mbox{\hyperlink{usb__template__mouse_8c_a2f61f4a46537c9e66c7e5eade75c92c7}{usb\_template\_mouse}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00172}00172         .\mbox{\hyperlink{structusb__temp__device__desc_a38087eafc51aa5ee939e61f10bf87fb2}{getStringDesc}} = \&\mbox{\hyperlink{usb__template__mouse_8c_a8d6d9b9ba434341bb3c13902f3b8a985}{mouse\_get\_string\_desc}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00173}00173         .getVendorDesc = \&\mbox{\hyperlink{usb__template__mouse_8c_a9ef5a8189843a71d7684ccefb67e5d7b}{mouse\_get\_vendor\_desc}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00174}00174         .ppConfigDesc = \mbox{\hyperlink{usb__template__mouse_8c_a39b65a37a1ab7c68a817d37cefd77aef}{mouse\_configs}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00175}00175         .idVendor = \mbox{\hyperlink{usb__template__mouse_8c_a0f87e4203b2b9c6f561facd31461780a}{MOUSE\_DEFAULT\_VENDOR\_ID}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00176}00176         .idProduct = \mbox{\hyperlink{usb__template__mouse_8c_ab80a6869438fc4cdfb99f5efc5b3e4a4}{MOUSE\_DEFAULT\_PRODUCT\_ID}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00177}00177         .bcdDevice = 0x0100,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00178}00178         .bDeviceClass = \mbox{\hyperlink{usb_8h_afb401cd4f795d145dcfb80ab08f383bb}{UDCLASS\_COMM}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00179}00179         .bDeviceSubClass = 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00180}00180         .bDeviceProtocol = 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00181}00181         .iManufacturer = \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa615032e1287f0586c8bc9f592ccd6d03}{MOUSE\_MANUFACTURER\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00182}00182         .iProduct = \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa2b1b5fd5183b378528e848a6e52bcb55}{MOUSE\_PRODUCT\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00183}00183         .iSerialNumber = \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa71a483c2a3b24acec47c44dda0d5d95f}{MOUSE\_SERIAL\_NUMBER\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00184}00184 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00185}00185 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00186}00186 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00187}00187 \textcolor{comment}{ *      mouse\_get\_vendor\_desc}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00188}00188 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00189}00189 \textcolor{comment}{ * Return values:}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00190}00190 \textcolor{comment}{ * NULL: Failure. No such vendor descriptor.}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00191}00191 \textcolor{comment}{ * Else: Success. Pointer to vendor descriptor is returned.}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00192}00192 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00193}00193 \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{void} *}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00194}\mbox{\hyperlink{usb__template__mouse_8c_ae040ef4a5568f6828d0e208a7d8c123a}{00194}} \mbox{\hyperlink{usb__template__mouse_8c_a9ef5a8189843a71d7684ccefb67e5d7b}{mouse\_get\_vendor\_desc}}(\textcolor{keyword}{const} \textcolor{keyword}{struct} \mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} *\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, uint16\_t *\mbox{\hyperlink{usb__if_8m_aaba3806a5156b2c2a6d6f95f0d95ed03}{plen}})}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00195}00195 \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00196}00196         \textcolor{keywordflow}{if} ((\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bmRequestType == 0x81) \&\& (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bRequest == 0x06) \&\&}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00197}00197             (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>wValue[0] == 0x00) \&\& (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>wValue[1] == 0x22) \&\&}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00198}00198             (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>wIndex[1] == 0) \&\& (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>wIndex[0] == 0)) \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00199}00199                 *\mbox{\hyperlink{usb__if_8m_aaba3806a5156b2c2a6d6f95f0d95ed03}{plen}} = \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mouse_8c_a60fb64bb2651260925ece83a34656165}{mouse\_hid\_descriptor}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00200}00200                 \textcolor{keywordflow}{return} (\mbox{\hyperlink{usb__template__mouse_8c_a60fb64bb2651260925ece83a34656165}{mouse\_hid\_descriptor}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00201}00201         \}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00202}00202         \textcolor{keywordflow}{return} (NULL);}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00203}00203 \}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00204}00204 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00205}00205 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00206}00206 \textcolor{comment}{ *      mouse\_get\_string\_desc}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00207}00207 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00208}00208 \textcolor{comment}{ * Return values:}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00209}00209 \textcolor{comment}{ * NULL: Failure. No such string.}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00210}00210 \textcolor{comment}{ * Else: Success. Pointer to string descriptor is returned.}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00211}00211 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00212}00212 \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{void} *}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00213}\mbox{\hyperlink{usb__template__mouse_8c_abc132293404aeb69ff299357dc0cd62b}{00213}} \mbox{\hyperlink{usb__template__mouse_8c_a8d6d9b9ba434341bb3c13902f3b8a985}{mouse\_get\_string\_desc}}(uint16\_t lang\_id, uint8\_t string\_index)}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00214}00214 \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00215}00215         \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{void} *ptr[\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caaa69d353734d6a9117d1f1457819c4f8e}{MOUSE\_MAX\_INDEX}}] = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00216}00216                 [\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa25b97b7d9ac7d997a80eef1245f95ff4}{MOUSE\_LANG\_INDEX}}] = \&\mbox{\hyperlink{usb__core_8c_ae7a7499adfcbdfc7011bb2f90217b482}{usb\_string\_lang\_en}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00217}00217                 [\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caae87c9e1d4e1ce8c8fa9f63817fca0273}{MOUSE\_INTERFACE\_INDEX}}] = \&\mbox{\hyperlink{usb__template__mouse_8c_a78daf6dd3367c0a15aa84df94b8ad4e5}{mouse\_interface}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00218}00218                 [\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa615032e1287f0586c8bc9f592ccd6d03}{MOUSE\_MANUFACTURER\_INDEX}}] = \&\mbox{\hyperlink{usb__template__mouse_8c_a80405c74fa439c97dc59c8e60037bfe6}{mouse\_manufacturer}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00219}00219                 [\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa2b1b5fd5183b378528e848a6e52bcb55}{MOUSE\_PRODUCT\_INDEX}}] = \&\mbox{\hyperlink{usb__template__mouse_8c_a5a304802333169211740a14b0acc4db7}{mouse\_product}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00220}00220                 [\mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caa71a483c2a3b24acec47c44dda0d5d95f}{MOUSE\_SERIAL\_NUMBER\_INDEX}}] = \&\mbox{\hyperlink{usb__template__mouse_8c_a3864bfbef640dc9552486ed14643fc6f}{mouse\_serial\_number}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00221}00221         \};}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00222}00222 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00223}00223         \textcolor{keywordflow}{if} (string\_index == 0) \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00224}00224                 \textcolor{keywordflow}{return} (\&\mbox{\hyperlink{usb__core_8c_ae7a7499adfcbdfc7011bb2f90217b482}{usb\_string\_lang\_en}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00225}00225         \}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00226}00226         \textcolor{keywordflow}{if} (lang\_id != 0x0409) \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00227}00227                 \textcolor{keywordflow}{return} (NULL);}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00228}00228         \}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00229}00229         \textcolor{keywordflow}{if} (string\_index < \mbox{\hyperlink{usb__template__mouse_8c_a70ad55be767ca0a42c9150d24618e4caaa69d353734d6a9117d1f1457819c4f8e}{MOUSE\_MAX\_INDEX}}) \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00230}00230                 \textcolor{keywordflow}{return} (ptr[string\_index]);}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00231}00231         \}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00232}00232         \textcolor{keywordflow}{return} (NULL);}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00233}00233 \}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00234}00234 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00235}00235 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00236}\mbox{\hyperlink{usb__template__mouse_8c_aa966fe1340b5d01183082c9a43864790}{00236}} \mbox{\hyperlink{usb__template__mouse_8c_aa966fe1340b5d01183082c9a43864790}{mouse\_init}}(\textcolor{keywordtype}{void} *arg \_\_unused)}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00237}00237 \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00238}00238         \textcolor{keyword}{struct }sysctl\_oid *parent;}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00239}00239         \textcolor{keywordtype}{char} parent\_name[3];}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00240}00240 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00241}00241         \mbox{\hyperlink{usb__util_8c_a7e0b76fa91e891e0439d03afad4fc889}{usb\_make\_str\_desc}}(\&\mbox{\hyperlink{usb__template__mouse_8c_a78daf6dd3367c0a15aa84df94b8ad4e5}{mouse\_interface}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mouse_8c_a78daf6dd3367c0a15aa84df94b8ad4e5}{mouse\_interface}}),}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00242}00242             \mbox{\hyperlink{usb__template__mouse_8c_ab8e28a2f198e0e2e5a6356495056d22d}{MOUSE\_DEFAULT\_INTERFACE}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00243}00243         \mbox{\hyperlink{usb__util_8c_a7e0b76fa91e891e0439d03afad4fc889}{usb\_make\_str\_desc}}(\&\mbox{\hyperlink{usb__template__mouse_8c_a80405c74fa439c97dc59c8e60037bfe6}{mouse\_manufacturer}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mouse_8c_a80405c74fa439c97dc59c8e60037bfe6}{mouse\_manufacturer}}),}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00244}00244             \mbox{\hyperlink{usb__template__mouse_8c_a994e24afa126f2f4742eb78d281a1d30}{MOUSE\_DEFAULT\_MANUFACTURER}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00245}00245         \mbox{\hyperlink{usb__util_8c_a7e0b76fa91e891e0439d03afad4fc889}{usb\_make\_str\_desc}}(\&\mbox{\hyperlink{usb__template__mouse_8c_a5a304802333169211740a14b0acc4db7}{mouse\_product}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mouse_8c_a5a304802333169211740a14b0acc4db7}{mouse\_product}}),}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00246}00246             \mbox{\hyperlink{usb__template__mouse_8c_ac1b581c83906bd43633c995b0a2e252e}{MOUSE\_DEFAULT\_PRODUCT}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00247}00247         \mbox{\hyperlink{usb__util_8c_a7e0b76fa91e891e0439d03afad4fc889}{usb\_make\_str\_desc}}(\&\mbox{\hyperlink{usb__template__mouse_8c_a3864bfbef640dc9552486ed14643fc6f}{mouse\_serial\_number}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mouse_8c_a3864bfbef640dc9552486ed14643fc6f}{mouse\_serial\_number}}),}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00248}00248             \mbox{\hyperlink{usb__template__mouse_8c_a92f4508603add6f1370bbf7b9144dac7}{MOUSE\_DEFAULT\_SERIAL\_NUMBER}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00249}00249 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00250}00250         snprintf(parent\_name, \textcolor{keyword}{sizeof}(parent\_name), \textcolor{stringliteral}{"{}\%d"{}}, \mbox{\hyperlink{usb__ioctl_8h_a950bf8e3371138ceb9649d45e9a96340ac0597f25cfe51f0aef513bedbfa55b3f}{USB\_TEMP\_MOUSE}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00251}00251         sysctl\_ctx\_init(\&\mbox{\hyperlink{usb__template__mouse_8c_a7b82db748aebcdf2d271082cffe56f3b}{mouse\_ctx\_list}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00252}00252 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00253}00253         parent = SYSCTL\_ADD\_NODE(\&\mbox{\hyperlink{usb__template__mouse_8c_a7b82db748aebcdf2d271082cffe56f3b}{mouse\_ctx\_list}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00254}00254             SYSCTL\_STATIC\_CHILDREN(\_hw\_usb\_templates), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00255}00255             parent\_name, CTLFLAG\_RW | CTLFLAG\_MPSAFE,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00256}00256             0, \textcolor{stringliteral}{"{}USB Mouse device side template"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00257}00257         SYSCTL\_ADD\_U16(\&\mbox{\hyperlink{usb__template__mouse_8c_a7b82db748aebcdf2d271082cffe56f3b}{mouse\_ctx\_list}}, SYSCTL\_CHILDREN(parent), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00258}00258             \textcolor{stringliteral}{"{}vendor\_id"{}}, CTLFLAG\_RWTUN,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00259}00259             \&\mbox{\hyperlink{usb__template__mouse_8c_a2f61f4a46537c9e66c7e5eade75c92c7}{usb\_template\_mouse}}.\mbox{\hyperlink{structusb__temp__device__desc_a857be9aeaae625cebc6e227bf7a5cf39}{idVendor}}, 1, \textcolor{stringliteral}{"{}Vendor identifier"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00260}00260         SYSCTL\_ADD\_U16(\&\mbox{\hyperlink{usb__template__mouse_8c_a7b82db748aebcdf2d271082cffe56f3b}{mouse\_ctx\_list}}, SYSCTL\_CHILDREN(parent), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00261}00261             \textcolor{stringliteral}{"{}product\_id"{}}, CTLFLAG\_RWTUN,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00262}00262             \&\mbox{\hyperlink{usb__template__mouse_8c_a2f61f4a46537c9e66c7e5eade75c92c7}{usb\_template\_mouse}}.\mbox{\hyperlink{structusb__temp__device__desc_a494cea07a085ef1e5e5a884246403c5f}{idProduct}}, 1, \textcolor{stringliteral}{"{}Product identifier"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00263}00263 \textcolor{preprocessor}{\#if 0}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00264}00264         SYSCTL\_ADD\_PROC(\&\mbox{\hyperlink{usb__template__mouse_8c_a7b82db748aebcdf2d271082cffe56f3b}{mouse\_ctx\_list}}, SYSCTL\_CHILDREN(parent), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00265}00265             \textcolor{stringliteral}{"{}interface"{}}, CTLTYPE\_STRING | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00266}00266             \&\mbox{\hyperlink{usb__template__mouse_8c_a78daf6dd3367c0a15aa84df94b8ad4e5}{mouse\_interface}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mouse_8c_a78daf6dd3367c0a15aa84df94b8ad4e5}{mouse\_interface}}), \mbox{\hyperlink{usb__template_8c_ac1536ea79836e5972f25ba49ab7d0b40}{usb\_temp\_sysctl}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00267}00267             \textcolor{stringliteral}{"{}A"{}}, \textcolor{stringliteral}{"{}Interface string"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00268}00268 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00269}00269         SYSCTL\_ADD\_PROC(\&\mbox{\hyperlink{usb__template__mouse_8c_a7b82db748aebcdf2d271082cffe56f3b}{mouse\_ctx\_list}}, SYSCTL\_CHILDREN(parent), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00270}00270             \textcolor{stringliteral}{"{}manufacturer"{}}, CTLTYPE\_STRING | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00271}00271             \&\mbox{\hyperlink{usb__template__mouse_8c_a80405c74fa439c97dc59c8e60037bfe6}{mouse\_manufacturer}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mouse_8c_a80405c74fa439c97dc59c8e60037bfe6}{mouse\_manufacturer}}), \mbox{\hyperlink{usb__template_8c_ac1536ea79836e5972f25ba49ab7d0b40}{usb\_temp\_sysctl}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00272}00272             \textcolor{stringliteral}{"{}A"{}}, \textcolor{stringliteral}{"{}Manufacturer string"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00273}00273         SYSCTL\_ADD\_PROC(\&\mbox{\hyperlink{usb__template__mouse_8c_a7b82db748aebcdf2d271082cffe56f3b}{mouse\_ctx\_list}}, SYSCTL\_CHILDREN(parent), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00274}00274             \textcolor{stringliteral}{"{}product"{}}, CTLTYPE\_STRING | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00275}00275             \&\mbox{\hyperlink{usb__template__mouse_8c_a5a304802333169211740a14b0acc4db7}{mouse\_product}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mouse_8c_a5a304802333169211740a14b0acc4db7}{mouse\_product}}), \mbox{\hyperlink{usb__template_8c_ac1536ea79836e5972f25ba49ab7d0b40}{usb\_temp\_sysctl}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00276}00276             \textcolor{stringliteral}{"{}A"{}}, \textcolor{stringliteral}{"{}Product string"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00277}00277         SYSCTL\_ADD\_PROC(\&\mbox{\hyperlink{usb__template__mouse_8c_a7b82db748aebcdf2d271082cffe56f3b}{mouse\_ctx\_list}}, SYSCTL\_CHILDREN(parent), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00278}00278             \textcolor{stringliteral}{"{}serial\_number"{}}, CTLTYPE\_STRING | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE,}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00279}00279             \&\mbox{\hyperlink{usb__template__mouse_8c_a3864bfbef640dc9552486ed14643fc6f}{mouse\_serial\_number}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mouse_8c_a3864bfbef640dc9552486ed14643fc6f}{mouse\_serial\_number}}), \mbox{\hyperlink{usb__template_8c_ac1536ea79836e5972f25ba49ab7d0b40}{usb\_temp\_sysctl}},}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00280}00280             \textcolor{stringliteral}{"{}A"{}}, \textcolor{stringliteral}{"{}Serial number string"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00281}00281 \}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00282}00282 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00283}00283 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00284}\mbox{\hyperlink{usb__template__mouse_8c_a5707ed93db90f293e50b9ea10a63e8c6}{00284}} \mbox{\hyperlink{usb__template__mouse_8c_a5707ed93db90f293e50b9ea10a63e8c6}{mouse\_uninit}}(\textcolor{keywordtype}{void} *arg \_\_unused)}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00285}00285 \{}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00286}00286 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00287}00287         sysctl\_ctx\_free(\&\mbox{\hyperlink{usb__template__mouse_8c_a7b82db748aebcdf2d271082cffe56f3b}{mouse\_ctx\_list}});}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00288}00288 \}}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00289}00289 }
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00290}\mbox{\hyperlink{usb__template__mouse_8c_a0452c50156df647e6915241f636932f3}{00290}} \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);}
\DoxyCodeLine{\Hypertarget{usb__template__mouse_8c_source_l00291}\mbox{\hyperlink{usb__template__mouse_8c_abc89cbc1c410c56d4709e92b8f29228b}{00291}} \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{DoxyCode}
