\hypertarget{usb__template__mtp_8c_source}{}\doxysection{usb\+\_\+template\+\_\+mtp.\+c}
\label{usb__template__mtp_8c_source}\index{dev/usb/template/usb\_template\_mtp.c@{dev/usb/template/usb\_template\_mtp.c}}
\mbox{\hyperlink{usb__template__mtp_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00001}00001 \textcolor{comment}{/* \$FreeBSD\$ */}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00002}00002 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00003}00003 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/2-\/Clause-\/FreeBSD}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00004}00004 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00005}00005 \textcolor{comment}{ * Copyright (c) 2008 Hans Petter Selasky <hselasky@FreeBSD.org>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00006}00006 \textcolor{comment}{ * Copyright (c) 2018 The FreeBSD Foundation}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00007}00007 \textcolor{comment}{ * All rights reserved.}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00008}00008 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00009}00009 \textcolor{comment}{ * Portions of this software were developed by Edward Tomasz Napierala}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00010}00010 \textcolor{comment}{ * under sponsorship from the FreeBSD Foundation.}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00011}00011 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00012}00012 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00013}00013 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00014}00014 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00015}00015 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00016}00016 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00017}00017 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00018}00018 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00019}00019 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00020}00020 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00021}00021 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00022}00022 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00023}00023 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00024}00024 \textcolor{comment}{ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00025}00025 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00026}00026 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00027}00027 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00028}00028 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00029}00029 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00030}00030 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00031}00031 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00032}00032 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00033}00033 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00034}00034 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00035}00035 \textcolor{comment}{ * This file contains the USB templates for an USB Media Transfer}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00036}00036 \textcolor{comment}{ * Protocol device.}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00037}00037 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00038}00038 \textcolor{comment}{ * NOTE: It is common practice that MTP devices use some dummy}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00039}00039 \textcolor{comment}{ * descriptor cludges to be automatically detected by the host}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00040}00040 \textcolor{comment}{ * operating system. These descriptors are documented in the LibMTP}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00041}00041 \textcolor{comment}{ * library at sourceforge.net. The alternative is to supply the host}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00042}00042 \textcolor{comment}{ * operating system the VID and PID of your device.}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00043}00043 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00044}00044 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00045}00045 \textcolor{preprocessor}{\#ifdef USB\_GLOBAL\_INCLUDE\_FILE}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00046}00046 \textcolor{preprocessor}{\#include USB\_GLOBAL\_INCLUDE\_FILE}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00047}00047 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00048}00048 \textcolor{preprocessor}{\#include <sys/stdint.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00049}00049 \textcolor{preprocessor}{\#include <sys/stddef.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00050}00050 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00051}00051 \textcolor{preprocessor}{\#include <sys/queue.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00052}00052 \textcolor{preprocessor}{\#include <sys/types.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00053}00053 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00054}00054 \textcolor{preprocessor}{\#include <sys/kernel.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00055}00055 \textcolor{preprocessor}{\#include <sys/bus.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00056}00056 \textcolor{preprocessor}{\#include <sys/module.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00057}00057 \textcolor{preprocessor}{\#include <sys/lock.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00058}00058 \textcolor{preprocessor}{\#include <sys/mutex.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00059}00059 \textcolor{preprocessor}{\#include <sys/condvar.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00060}00060 \textcolor{preprocessor}{\#include <sys/sysctl.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00061}00061 \textcolor{preprocessor}{\#include <sys/sx.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00062}00062 \textcolor{preprocessor}{\#include <sys/unistd.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00063}00063 \textcolor{preprocessor}{\#include <sys/callout.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00064}00064 \textcolor{preprocessor}{\#include <sys/malloc.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00065}00065 \textcolor{preprocessor}{\#include <sys/priv.h>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00066}00066 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00067}00067 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb_8h}{dev/usb/usb.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00068}00068 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usbdi_8h}{dev/usb/usbdi.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00069}00069 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__core_8h}{dev/usb/usb\_core.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00070}00070 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__ioctl_8h}{dev/usb/usb\_ioctl.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00071}00071 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__util_8h}{dev/usb/usb\_util.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00072}00072 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00073}00073 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__template_8h}{dev/usb/template/usb\_template.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00074}00074 \textcolor{preprocessor}{\#endif                  }\textcolor{comment}{/* USB\_GLOBAL\_INCLUDE\_FILE */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00075}00075 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00076}\mbox{\hyperlink{usb__template__mtp_8c_aa6049fa552af6d2d531303087cadecda}{00076}} \textcolor{preprocessor}{\#define MTP\_BREQUEST 0x08}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00077}00077 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00078}00078 \textcolor{keyword}{enum} \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00079}\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a793591501ed1c4ce7d42f3927f0ed684}{00079}}         \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a793591501ed1c4ce7d42f3927f0ed684}{MTP\_LANG\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00080}\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9ad41fd75bd52c944a82207c8d7a93e8d2}{00080}}         \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9ad41fd75bd52c944a82207c8d7a93e8d2}{MTP\_INTERFACE\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00081}\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9afe44ad5a67eceed468fe2c4c328be9f9}{00081}}         \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9afe44ad5a67eceed468fe2c4c328be9f9}{MTP\_CONFIGURATION\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00082}\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a8c4618a285550bec078badd3951fa3ad}{00082}}         \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a8c4618a285550bec078badd3951fa3ad}{MTP\_MANUFACTURER\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00083}\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a1f80803b85b7e694607d5c4d15c71601}{00083}}         \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a1f80803b85b7e694607d5c4d15c71601}{MTP\_PRODUCT\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00084}\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9af2ee9fcdc358911cb2ce3c1aeb2efe8a}{00084}}         \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9af2ee9fcdc358911cb2ce3c1aeb2efe8a}{MTP\_SERIAL\_NUMBER\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00085}\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a55598f151642f817ae6117f8374952fd}{00085}}         \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a55598f151642f817ae6117f8374952fd}{MTP\_MAX\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00086}00086 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00087}00087 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00088}\mbox{\hyperlink{usb__template__mtp_8c_af9265b276ffb5b885ea599d559da63c1}{00088}} \textcolor{preprocessor}{\#define MTP\_DEFAULT\_VENDOR\_ID           USB\_TEMPLATE\_VENDOR}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00089}\mbox{\hyperlink{usb__template__mtp_8c_a3ac62c40da8540e6abbdd454941afa8e}{00089}} \textcolor{preprocessor}{\#define MTP\_DEFAULT\_PRODUCT\_ID          0x27e2}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00090}\mbox{\hyperlink{usb__template__mtp_8c_adb18c1a56e36eb127b790bcd482abd70}{00090}} \textcolor{preprocessor}{\#define MTP\_DEFAULT\_INTERFACE           "{}USB MTP Interface"{}}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00091}\mbox{\hyperlink{usb__template__mtp_8c_a27964665896cb14cca2a7acb01fdfd6f}{00091}} \textcolor{preprocessor}{\#define MTP\_DEFAULT\_CONFIGURATION       "{}Default Config"{}}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00092}\mbox{\hyperlink{usb__template__mtp_8c_a35b1ab1486a17da9915f41a57aec9d60}{00092}} \textcolor{preprocessor}{\#define MTP\_DEFAULT\_MANUFACTURER        USB\_TEMPLATE\_MANUFACTURER}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00093}\mbox{\hyperlink{usb__template__mtp_8c_afc6c83909847e4f2118d9bf0aaa87dca}{00093}} \textcolor{preprocessor}{\#define MTP\_DEFAULT\_PRODUCT             "{}USB MTP"{}}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00094}\mbox{\hyperlink{usb__template__mtp_8c_af62eb196606530d8f6c4af91312bbd5f}{00094}} \textcolor{preprocessor}{\#define MTP\_DEFAULT\_SERIAL\_NUMBER       "{}June 2008"{}}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00095}00095 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00096}\mbox{\hyperlink{usb__template__mtp_8c_a1999c2dbc71d72c6701a0be912cf1c27}{00096}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__string__descriptor}{usb\_string\_descriptor}}        \mbox{\hyperlink{usb__template__mtp_8c_a1999c2dbc71d72c6701a0be912cf1c27}{mtp\_interface}};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00097}\mbox{\hyperlink{usb__template__mtp_8c_ae9c85aa23e4f0f78a8b47ec5763b7c8d}{00097}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__string__descriptor}{usb\_string\_descriptor}}        \mbox{\hyperlink{usb__template__mtp_8c_ae9c85aa23e4f0f78a8b47ec5763b7c8d}{mtp\_configuration}};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00098}\mbox{\hyperlink{usb__template__mtp_8c_a36b5db3c300ce23fab04d559dccacd01}{00098}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__string__descriptor}{usb\_string\_descriptor}}        \mbox{\hyperlink{usb__template__mtp_8c_a36b5db3c300ce23fab04d559dccacd01}{mtp\_manufacturer}};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00099}\mbox{\hyperlink{usb__template__mtp_8c_a8a8582c117a4e59993c3991ec7d591a6}{00099}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__string__descriptor}{usb\_string\_descriptor}}        \mbox{\hyperlink{usb__template__mtp_8c_a8a8582c117a4e59993c3991ec7d591a6}{mtp\_product}};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00100}\mbox{\hyperlink{usb__template__mtp_8c_ae72d244176d64be94d17af6e2f8d3573}{00100}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__string__descriptor}{usb\_string\_descriptor}}        \mbox{\hyperlink{usb__template__mtp_8c_ae72d244176d64be94d17af6e2f8d3573}{mtp\_serial\_number}};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00101}00101 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00102}\mbox{\hyperlink{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}{00102}} \textcolor{keyword}{static} \textcolor{keyword}{struct }sysctl\_ctx\_list           \mbox{\hyperlink{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}{mtp\_ctx\_list}};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00103}00103 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00104}00104 \textcolor{comment}{/* prototypes */}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00105}00105 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00106}\mbox{\hyperlink{usb__template__mtp_8c_a06483d26c5ffd28da8a924b559344b8a}{00106}} \textcolor{keyword}{static} \mbox{\hyperlink{usb__template_8h_ab56131b3dcadea9f2be25f942a4f2af7}{usb\_temp\_get\_string\_desc\_t}} \mbox{\hyperlink{usb__template__mtp_8c_a06483d26c5ffd28da8a924b559344b8a}{mtp\_get\_string\_desc}};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00107}\mbox{\hyperlink{usb__template__mtp_8c_adc81d369b6c41d431639effe46fcd7e6}{00107}} \textcolor{keyword}{static} \mbox{\hyperlink{usb__template_8h_ab111925929cf0aecdc4029bf4fe9a869}{usb\_temp\_get\_vendor\_desc\_t}} \mbox{\hyperlink{usb__template__mtp_8c_adc81d369b6c41d431639effe46fcd7e6}{mtp\_get\_vendor\_desc}};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00108}00108 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00109}\mbox{\hyperlink{usb__template__mtp_8c_a51299a5ce4a0ea953f804633189e181c}{00109}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__packet__size}{usb\_temp\_packet\_size}} \mbox{\hyperlink{usb__template__mtp_8c_a51299a5ce4a0ea953f804633189e181c}{bulk\_mps}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00110}00110         .\mbox{\hyperlink{structusb__temp__packet__size_a1e72dec91037be6b45fcb2a7b8a6034a}{mps}}[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa0f17d0b9928086c6114fea73e08f1780}{USB\_SPEED\_FULL}}] = 64,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00111}00111         .mps[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa57eeede6d769b09c01ac9c9c62fef8c9}{USB\_SPEED\_HIGH}}] = 512,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00112}00112 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00113}00113 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00114}\mbox{\hyperlink{usb__template__mtp_8c_a9293bd96bf9db372f9e1778dd40c0c6d}{00114}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__packet__size}{usb\_temp\_packet\_size}} \mbox{\hyperlink{usb__template__mtp_8c_a9293bd96bf9db372f9e1778dd40c0c6d}{intr\_mps}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00115}00115         .\mbox{\hyperlink{structusb__temp__packet__size_a1e72dec91037be6b45fcb2a7b8a6034a}{mps}}[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa0f17d0b9928086c6114fea73e08f1780}{USB\_SPEED\_FULL}}] = 64,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00116}00116         .mps[\mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa57eeede6d769b09c01ac9c9c62fef8c9}{USB\_SPEED\_HIGH}}] = 64,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00117}00117 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00118}00118 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00119}\mbox{\hyperlink{usb__template__mtp_8c_a7875b7badc71c3105e10cb98eb1e2d38}{00119}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\_temp\_endpoint\_desc}} \mbox{\hyperlink{usb__template__mtp_8c_a7875b7badc71c3105e10cb98eb1e2d38}{bulk\_out\_ep}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00120}00120         .\mbox{\hyperlink{structusb__temp__endpoint__desc_a81880a9d278c78c45b0012c1c8a65067}{pPacketSize}} = \&\mbox{\hyperlink{usb__template__mtp_8c_a51299a5ce4a0ea953f804633189e181c}{bulk\_mps}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00121}00121 \textcolor{preprocessor}{\#ifdef USB\_HIP\_OUT\_EP\_0}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00122}00122         .bEndpointAddress = USB\_HIP\_OUT\_EP\_0,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00123}00123 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00124}00124         .bEndpointAddress = \mbox{\hyperlink{usb_8h_a9a98e1bc9388db2ab5213e9d6496e851}{UE\_DIR\_OUT}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00125}00125 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00126}00126         .bmAttributes = \mbox{\hyperlink{usb_8h_a25240fc009aa67bb7a2b635d2e9401e4}{UE\_BULK}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00127}00127 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00128}00128 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00129}\mbox{\hyperlink{usb__template__mtp_8c_aa2a3d6cfa99545b30545f4521bec9db0}{00129}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\_temp\_endpoint\_desc}} \mbox{\hyperlink{usb__template__mtp_8c_aa2a3d6cfa99545b30545f4521bec9db0}{intr\_in\_ep}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00130}00130         .\mbox{\hyperlink{structusb__temp__endpoint__desc_a81880a9d278c78c45b0012c1c8a65067}{pPacketSize}} = \&\mbox{\hyperlink{usb__template__mtp_8c_a9293bd96bf9db372f9e1778dd40c0c6d}{intr\_mps}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00131}00131         .bEndpointAddress = \mbox{\hyperlink{usb_8h_a72bb077a860132c175c166f344c75893}{UE\_DIR\_IN}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00132}00132         .bmAttributes = \mbox{\hyperlink{usb_8h_a01e28e87ad16f6dfffefc6ccab08baed}{UE\_INTERRUPT}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00133}00133 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00134}00134 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00135}\mbox{\hyperlink{usb__template__mtp_8c_a87d44dd5841ee9dfecb83a292752acb8}{00135}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\_temp\_endpoint\_desc}} \mbox{\hyperlink{usb__template__mtp_8c_a87d44dd5841ee9dfecb83a292752acb8}{bulk\_in\_ep}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00136}00136         .\mbox{\hyperlink{structusb__temp__endpoint__desc_a81880a9d278c78c45b0012c1c8a65067}{pPacketSize}} = \&\mbox{\hyperlink{usb__template__mtp_8c_a51299a5ce4a0ea953f804633189e181c}{bulk\_mps}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00137}00137 \textcolor{preprocessor}{\#ifdef USB\_HIP\_IN\_EP\_0}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00138}00138         .bEndpointAddress = USB\_HIP\_IN\_EP\_0,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00139}00139 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00140}00140         .bEndpointAddress = \mbox{\hyperlink{usb_8h_a72bb077a860132c175c166f344c75893}{UE\_DIR\_IN}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00141}00141 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00142}00142         .bmAttributes = \mbox{\hyperlink{usb_8h_a25240fc009aa67bb7a2b635d2e9401e4}{UE\_BULK}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00143}00143 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00144}00144 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00145}\mbox{\hyperlink{usb__template__mtp_8c_a431b17bd2ad8a09a81fa3550a41ca4a5}{00145}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__endpoint__desc}{usb\_temp\_endpoint\_desc}} *\mbox{\hyperlink{usb__template__mtp_8c_a431b17bd2ad8a09a81fa3550a41ca4a5}{mtp\_data\_endpoints}}[] = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00146}00146         \&\mbox{\hyperlink{usb__template__mtp_8c_a87d44dd5841ee9dfecb83a292752acb8}{bulk\_in\_ep}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00147}00147         \&\mbox{\hyperlink{usb__template__mtp_8c_a7875b7badc71c3105e10cb98eb1e2d38}{bulk\_out\_ep}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00148}00148         \&\mbox{\hyperlink{usb__template__mtp_8c_aa2a3d6cfa99545b30545f4521bec9db0}{intr\_in\_ep}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00149}00149         NULL,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00150}00150 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00151}00151 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00152}\mbox{\hyperlink{usb__template__mtp_8c_a0ef4fe0b36375dbb8f0dfa014065636b}{00152}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__interface__desc}{usb\_temp\_interface\_desc}} \mbox{\hyperlink{usb__template__mtp_8c_a0ef4fe0b36375dbb8f0dfa014065636b}{mtp\_data\_interface}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00153}00153         .\mbox{\hyperlink{structusb__temp__interface__desc_a4644da9b53684d59fb37172855476f4e}{ppEndpoints}} = \mbox{\hyperlink{usb__template__mtp_8c_a431b17bd2ad8a09a81fa3550a41ca4a5}{mtp\_data\_endpoints}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00154}00154         .bInterfaceClass = \mbox{\hyperlink{usb_8h_adf1edf972de172ccbade25eab597e107}{UICLASS\_IMAGE}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00155}00155         .bInterfaceSubClass = \mbox{\hyperlink{usb_8h_a0f66f91bc2be1621fa5c8690ff415e7f}{UISUBCLASS\_SIC}},     \textcolor{comment}{/* Still Image Class */}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00156}00156         .bInterfaceProtocol = 1,        \textcolor{comment}{/* PIMA 15740 */}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00157}00157         .iInterface = \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9ad41fd75bd52c944a82207c8d7a93e8d2}{MTP\_INTERFACE\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00158}00158 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00159}00159 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00160}\mbox{\hyperlink{usb__template__mtp_8c_afdfb967b403932bdcb242524f4b8edcc}{00160}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__interface__desc}{usb\_temp\_interface\_desc}} *\mbox{\hyperlink{usb__template__mtp_8c_afdfb967b403932bdcb242524f4b8edcc}{mtp\_interfaces}}[] = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00161}00161         \&\mbox{\hyperlink{usb__template__mtp_8c_a0ef4fe0b36375dbb8f0dfa014065636b}{mtp\_data\_interface}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00162}00162         NULL,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00163}00163 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00164}00164 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00165}\mbox{\hyperlink{usb__template__mtp_8c_a04f26377ccd1dedfc62ebbec4835fca0}{00165}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__config__desc}{usb\_temp\_config\_desc}} \mbox{\hyperlink{usb__template__mtp_8c_a04f26377ccd1dedfc62ebbec4835fca0}{mtp\_config\_desc}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00166}00166         .\mbox{\hyperlink{structusb__temp__config__desc_a2b5fac2213f207fc7ab491eadd3e1c04}{ppIfaceDesc}} = \mbox{\hyperlink{usb__template__mtp_8c_afdfb967b403932bdcb242524f4b8edcc}{mtp\_interfaces}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00167}00167         .bmAttributes = 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00168}00168         .bMaxPower = 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00169}00169         .iConfiguration = \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9afe44ad5a67eceed468fe2c4c328be9f9}{MTP\_CONFIGURATION\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00170}00170 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00171}00171 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00172}\mbox{\hyperlink{usb__template__mtp_8c_a943699ea767a90f6d782a573a70950a3}{00172}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__config__desc}{usb\_temp\_config\_desc}} *\mbox{\hyperlink{usb__template__mtp_8c_a943699ea767a90f6d782a573a70950a3}{mtp\_configs}}[] = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00173}00173         \&\mbox{\hyperlink{usb__template__mtp_8c_a04f26377ccd1dedfc62ebbec4835fca0}{mtp\_config\_desc}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00174}00174         NULL,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00175}00175 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00176}00176 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00177}\mbox{\hyperlink{usb__template_8h_a2cd386591316db266679b0682c489193}{00177}} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__temp__device__desc}{usb\_temp\_device\_desc}} \mbox{\hyperlink{usb__template__mtp_8c_a2cd386591316db266679b0682c489193}{usb\_template\_mtp}} = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00178}00178         .\mbox{\hyperlink{structusb__temp__device__desc_a38087eafc51aa5ee939e61f10bf87fb2}{getStringDesc}} = \&\mbox{\hyperlink{usb__template__mtp_8c_a06483d26c5ffd28da8a924b559344b8a}{mtp\_get\_string\_desc}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00179}00179         .getVendorDesc = \&\mbox{\hyperlink{usb__template__mtp_8c_adc81d369b6c41d431639effe46fcd7e6}{mtp\_get\_vendor\_desc}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00180}00180         .ppConfigDesc = \mbox{\hyperlink{usb__template__mtp_8c_a943699ea767a90f6d782a573a70950a3}{mtp\_configs}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00181}00181         .idVendor = \mbox{\hyperlink{usb__template__mtp_8c_af9265b276ffb5b885ea599d559da63c1}{MTP\_DEFAULT\_VENDOR\_ID}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00182}00182         .idProduct = \mbox{\hyperlink{usb__template__mtp_8c_a3ac62c40da8540e6abbdd454941afa8e}{MTP\_DEFAULT\_PRODUCT\_ID}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00183}00183         .bcdDevice = 0x0100,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00184}00184         .bDeviceClass = 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00185}00185         .bDeviceSubClass = 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00186}00186         .bDeviceProtocol = 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00187}00187         .iManufacturer = \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a8c4618a285550bec078badd3951fa3ad}{MTP\_MANUFACTURER\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00188}00188         .iProduct = \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a1f80803b85b7e694607d5c4d15c71601}{MTP\_PRODUCT\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00189}00189         .iSerialNumber = \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9af2ee9fcdc358911cb2ce3c1aeb2efe8a}{MTP\_SERIAL\_NUMBER\_INDEX}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00190}00190 \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00191}00191 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00192}00192 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00193}00193 \textcolor{comment}{ *      mtp\_get\_vendor\_desc}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00194}00194 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00195}00195 \textcolor{comment}{ * Return values:}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00196}00196 \textcolor{comment}{ * NULL: Failure. No such vendor descriptor.}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00197}00197 \textcolor{comment}{ * Else: Success. Pointer to vendor descriptor is returned.}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00198}00198 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00199}00199 \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{void} *}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00200}\mbox{\hyperlink{usb__template__mtp_8c_a47610d11158576cbdcf5f357c877a9ee}{00200}} \mbox{\hyperlink{usb__template__mtp_8c_adc81d369b6c41d431639effe46fcd7e6}{mtp\_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__mtp_8c_source_l00201}00201 \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00202}00202         \textcolor{keyword}{static} \textcolor{keyword}{const} uint8\_t dummy\_desc[0x28] = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00203}00203                 0x28, 0, 0, 0, 0, 1, 4, 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00204}00204                 1, 0, 0, 0, 0, 0, 0, 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00205}00205                 0, 1, 0x4D, 0x54, 0x50, 0, 0, 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00206}00206                 0, 0, 0, 0, 0, 0, 0, 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00207}00207                 0, 0, 0, 0, 0, 0, 0, 0,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00208}00208         \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00209}00209 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00210}00210         \textcolor{keywordflow}{if} ((\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bmRequestType == \mbox{\hyperlink{usb_8h_a6da49500e864a3c33c9eed3dd49d3e59}{UT\_READ\_VENDOR\_DEVICE}}) \&\&}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00211}00211             (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bRequest == \mbox{\hyperlink{usb__template__mtp_8c_aa6049fa552af6d2d531303087cadecda}{MTP\_BREQUEST}}) \&\& (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>wValue[0] == 0) \&\&}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00212}00212             (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>wValue[1] == 0) \&\& (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>wIndex[1] == 0) \&\&}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00213}00213             ((\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>wIndex[0] == 4) || (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>wIndex[0] == 5))) \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00214}00214                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00215}00215 \textcolor{comment}{                 * By returning this descriptor LibMTP will}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00216}00216 \textcolor{comment}{                 * automatically pickup our device.}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00217}00217 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00218}00218                 \textcolor{keywordflow}{return} (dummy\_desc);}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00219}00219         \}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00220}00220         \textcolor{keywordflow}{return} (NULL);}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00221}00221 \}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00222}00222 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00223}00223 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00224}00224 \textcolor{comment}{ *      mtp\_get\_string\_desc}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00225}00225 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00226}00226 \textcolor{comment}{ * Return values:}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00227}00227 \textcolor{comment}{ * NULL: Failure. No such string.}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00228}00228 \textcolor{comment}{ * Else: Success. Pointer to string descriptor is returned.}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00229}00229 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00230}00230 \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{void} *}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00231}\mbox{\hyperlink{usb__template__mtp_8c_af4abb4119cd87016786cb198964b040e}{00231}} \mbox{\hyperlink{usb__template__mtp_8c_a06483d26c5ffd28da8a924b559344b8a}{mtp\_get\_string\_desc}}(uint16\_t lang\_id, uint8\_t string\_index)}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00232}00232 \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00233}00233         \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{void} *ptr[\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a55598f151642f817ae6117f8374952fd}{MTP\_MAX\_INDEX}}] = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00234}00234                 [\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a793591501ed1c4ce7d42f3927f0ed684}{MTP\_LANG\_INDEX}}] = \&\mbox{\hyperlink{usb__core_8c_ae7a7499adfcbdfc7011bb2f90217b482}{usb\_string\_lang\_en}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00235}00235                 [\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9ad41fd75bd52c944a82207c8d7a93e8d2}{MTP\_INTERFACE\_INDEX}}] = \&\mbox{\hyperlink{usb__template__mtp_8c_a1999c2dbc71d72c6701a0be912cf1c27}{mtp\_interface}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00236}00236                 [\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9afe44ad5a67eceed468fe2c4c328be9f9}{MTP\_CONFIGURATION\_INDEX}}] = \&\mbox{\hyperlink{usb__template__mtp_8c_ae9c85aa23e4f0f78a8b47ec5763b7c8d}{mtp\_configuration}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00237}00237                 [\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a8c4618a285550bec078badd3951fa3ad}{MTP\_MANUFACTURER\_INDEX}}] = \&\mbox{\hyperlink{usb__template__mtp_8c_a36b5db3c300ce23fab04d559dccacd01}{mtp\_manufacturer}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00238}00238                 [\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a1f80803b85b7e694607d5c4d15c71601}{MTP\_PRODUCT\_INDEX}}] = \&\mbox{\hyperlink{usb__template__mtp_8c_a8a8582c117a4e59993c3991ec7d591a6}{mtp\_product}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00239}00239                 [\mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9af2ee9fcdc358911cb2ce3c1aeb2efe8a}{MTP\_SERIAL\_NUMBER\_INDEX}}] = \&\mbox{\hyperlink{usb__template__mtp_8c_ae72d244176d64be94d17af6e2f8d3573}{mtp\_serial\_number}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00240}00240         \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00241}00241 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00242}00242         \textcolor{keyword}{static} \textcolor{keyword}{const} uint8\_t dummy\_desc[0x12] = \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00243}00243                 0x12, 0x03, 0x4D, 0x00, 0x53, 0x00, 0x46, 0x00,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00244}00244                 0x54, 0x00, 0x31, 0x00, 0x30, 0x00, 0x30, 0x00,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00245}00245                 \mbox{\hyperlink{usb__template__mtp_8c_aa6049fa552af6d2d531303087cadecda}{MTP\_BREQUEST}}, 0x00,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00246}00246         \};}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00247}00247 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00248}00248         \textcolor{keywordflow}{if} (string\_index == 0xEE) \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00249}00249                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00250}00250 \textcolor{comment}{                 * By returning this string LibMTP will automatically}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00251}00251 \textcolor{comment}{                 * pickup our device.}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00252}00252 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00253}00253                 \textcolor{keywordflow}{return} (dummy\_desc);}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00254}00254         \}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00255}00255         \textcolor{keywordflow}{if} (string\_index == 0) \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00256}00256                 \textcolor{keywordflow}{return} (\&\mbox{\hyperlink{usb__core_8c_ae7a7499adfcbdfc7011bb2f90217b482}{usb\_string\_lang\_en}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00257}00257         \}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00258}00258         \textcolor{keywordflow}{if} (lang\_id != 0x0409) \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00259}00259                 \textcolor{keywordflow}{return} (NULL);}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00260}00260         \}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00261}00261         \textcolor{keywordflow}{if} (string\_index < \mbox{\hyperlink{usb__template__mtp_8c_aa491173a6b1628f4ff82067b2e1ceaa9a55598f151642f817ae6117f8374952fd}{MTP\_MAX\_INDEX}}) \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00262}00262                 \textcolor{keywordflow}{return} (ptr[string\_index]);}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00263}00263         \}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00264}00264         \textcolor{keywordflow}{return} (NULL);}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00265}00265 \}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00266}00266 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00267}00267 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00268}\mbox{\hyperlink{usb__template__mtp_8c_ad53e2c0eb59dbdd89b48c28e48509601}{00268}} \mbox{\hyperlink{usb__template__mtp_8c_ad53e2c0eb59dbdd89b48c28e48509601}{mtp\_init}}(\textcolor{keywordtype}{void} *arg \_\_unused)}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00269}00269 \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00270}00270         \textcolor{keyword}{struct }sysctl\_oid *parent;}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00271}00271         \textcolor{keywordtype}{char} parent\_name[3];}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00272}00272 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00273}00273         \mbox{\hyperlink{usb__util_8c_a7e0b76fa91e891e0439d03afad4fc889}{usb\_make\_str\_desc}}(\&\mbox{\hyperlink{usb__template__mtp_8c_a1999c2dbc71d72c6701a0be912cf1c27}{mtp\_interface}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mtp_8c_a1999c2dbc71d72c6701a0be912cf1c27}{mtp\_interface}}),}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00274}00274             \mbox{\hyperlink{usb__template__mtp_8c_adb18c1a56e36eb127b790bcd482abd70}{MTP\_DEFAULT\_INTERFACE}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00275}00275         \mbox{\hyperlink{usb__util_8c_a7e0b76fa91e891e0439d03afad4fc889}{usb\_make\_str\_desc}}(\&\mbox{\hyperlink{usb__template__mtp_8c_ae9c85aa23e4f0f78a8b47ec5763b7c8d}{mtp\_configuration}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mtp_8c_ae9c85aa23e4f0f78a8b47ec5763b7c8d}{mtp\_configuration}}),}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00276}00276             \mbox{\hyperlink{usb__template__mtp_8c_a27964665896cb14cca2a7acb01fdfd6f}{MTP\_DEFAULT\_CONFIGURATION}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00277}00277         \mbox{\hyperlink{usb__util_8c_a7e0b76fa91e891e0439d03afad4fc889}{usb\_make\_str\_desc}}(\&\mbox{\hyperlink{usb__template__mtp_8c_a36b5db3c300ce23fab04d559dccacd01}{mtp\_manufacturer}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mtp_8c_a36b5db3c300ce23fab04d559dccacd01}{mtp\_manufacturer}}),}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00278}00278             \mbox{\hyperlink{usb__template__mtp_8c_a35b1ab1486a17da9915f41a57aec9d60}{MTP\_DEFAULT\_MANUFACTURER}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00279}00279         \mbox{\hyperlink{usb__util_8c_a7e0b76fa91e891e0439d03afad4fc889}{usb\_make\_str\_desc}}(\&\mbox{\hyperlink{usb__template__mtp_8c_a8a8582c117a4e59993c3991ec7d591a6}{mtp\_product}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mtp_8c_a8a8582c117a4e59993c3991ec7d591a6}{mtp\_product}}),}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00280}00280             \mbox{\hyperlink{usb__template__mtp_8c_afc6c83909847e4f2118d9bf0aaa87dca}{MTP\_DEFAULT\_PRODUCT}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00281}00281         \mbox{\hyperlink{usb__util_8c_a7e0b76fa91e891e0439d03afad4fc889}{usb\_make\_str\_desc}}(\&\mbox{\hyperlink{usb__template__mtp_8c_ae72d244176d64be94d17af6e2f8d3573}{mtp\_serial\_number}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mtp_8c_ae72d244176d64be94d17af6e2f8d3573}{mtp\_serial\_number}}),}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00282}00282             \mbox{\hyperlink{usb__template__mtp_8c_af62eb196606530d8f6c4af91312bbd5f}{MTP\_DEFAULT\_SERIAL\_NUMBER}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00283}00283 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00284}00284         snprintf(parent\_name, \textcolor{keyword}{sizeof}(parent\_name), \textcolor{stringliteral}{"{}\%d"{}}, \mbox{\hyperlink{usb__ioctl_8h_a950bf8e3371138ceb9649d45e9a96340a328eab65f4c8276847086727553f1c67}{USB\_TEMP\_MTP}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00285}00285         sysctl\_ctx\_init(\&\mbox{\hyperlink{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}{mtp\_ctx\_list}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00286}00286 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00287}00287         parent = SYSCTL\_ADD\_NODE(\&\mbox{\hyperlink{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}{mtp\_ctx\_list}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00288}00288             SYSCTL\_STATIC\_CHILDREN(\_hw\_usb\_templates), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00289}00289             parent\_name, CTLFLAG\_RW | CTLFLAG\_MPSAFE,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00290}00290             0, \textcolor{stringliteral}{"{}USB Media Transfer Protocol device side template"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00291}00291         SYSCTL\_ADD\_U16(\&\mbox{\hyperlink{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}{mtp\_ctx\_list}}, SYSCTL\_CHILDREN(parent), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00292}00292             \textcolor{stringliteral}{"{}vendor\_id"{}}, CTLFLAG\_RWTUN,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00293}00293             \&\mbox{\hyperlink{usb__template__mtp_8c_a2cd386591316db266679b0682c489193}{usb\_template\_mtp}}.\mbox{\hyperlink{structusb__temp__device__desc_a857be9aeaae625cebc6e227bf7a5cf39}{idVendor}}, 1, \textcolor{stringliteral}{"{}Vendor identifier"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00294}00294         SYSCTL\_ADD\_U16(\&\mbox{\hyperlink{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}{mtp\_ctx\_list}}, SYSCTL\_CHILDREN(parent), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00295}00295             \textcolor{stringliteral}{"{}product\_id"{}}, CTLFLAG\_RWTUN,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00296}00296             \&\mbox{\hyperlink{usb__template__mtp_8c_a2cd386591316db266679b0682c489193}{usb\_template\_mtp}}.\mbox{\hyperlink{structusb__temp__device__desc_a494cea07a085ef1e5e5a884246403c5f}{idProduct}}, 1, \textcolor{stringliteral}{"{}Product identifier"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00297}00297 \textcolor{preprocessor}{\#if 0}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00298}00298         SYSCTL\_ADD\_PROC(\&\mbox{\hyperlink{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}{mtp\_ctx\_list}}, SYSCTL\_CHILDREN(parent), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00299}00299             \textcolor{stringliteral}{"{}interface"{}}, CTLTYPE\_STRING | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00300}00300             \&\mbox{\hyperlink{usb__template__mtp_8c_a1999c2dbc71d72c6701a0be912cf1c27}{mtp\_interface}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mtp_8c_a1999c2dbc71d72c6701a0be912cf1c27}{mtp\_interface}}), \mbox{\hyperlink{usb__template_8c_ac1536ea79836e5972f25ba49ab7d0b40}{usb\_temp\_sysctl}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00301}00301             \textcolor{stringliteral}{"{}A"{}}, \textcolor{stringliteral}{"{}Interface string"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00302}00302         SYSCTL\_ADD\_PROC(\&\mbox{\hyperlink{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}{mtp\_ctx\_list}}, SYSCTL\_CHILDREN(parent), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00303}00303             \textcolor{stringliteral}{"{}configuration"{}}, CTLTYPE\_STRING | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00304}00304             \&\mbox{\hyperlink{usb__template__mtp_8c_ae9c85aa23e4f0f78a8b47ec5763b7c8d}{mtp\_configuration}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mtp_8c_ae9c85aa23e4f0f78a8b47ec5763b7c8d}{mtp\_configuration}}), \mbox{\hyperlink{usb__template_8c_ac1536ea79836e5972f25ba49ab7d0b40}{usb\_temp\_sysctl}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00305}00305             \textcolor{stringliteral}{"{}A"{}}, \textcolor{stringliteral}{"{}Configuration string"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00306}00306 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00307}00307         SYSCTL\_ADD\_PROC(\&\mbox{\hyperlink{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}{mtp\_ctx\_list}}, SYSCTL\_CHILDREN(parent), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00308}00308             \textcolor{stringliteral}{"{}manufacturer"{}}, CTLTYPE\_STRING | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00309}00309             \&\mbox{\hyperlink{usb__template__mtp_8c_a36b5db3c300ce23fab04d559dccacd01}{mtp\_manufacturer}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mtp_8c_a36b5db3c300ce23fab04d559dccacd01}{mtp\_manufacturer}}), \mbox{\hyperlink{usb__template_8c_ac1536ea79836e5972f25ba49ab7d0b40}{usb\_temp\_sysctl}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00310}00310             \textcolor{stringliteral}{"{}A"{}}, \textcolor{stringliteral}{"{}Manufacturer string"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00311}00311         SYSCTL\_ADD\_PROC(\&\mbox{\hyperlink{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}{mtp\_ctx\_list}}, SYSCTL\_CHILDREN(parent), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00312}00312             \textcolor{stringliteral}{"{}product"{}}, CTLTYPE\_STRING | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00313}00313             \&\mbox{\hyperlink{usb__template__mtp_8c_a8a8582c117a4e59993c3991ec7d591a6}{mtp\_product}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mtp_8c_a8a8582c117a4e59993c3991ec7d591a6}{mtp\_product}}), \mbox{\hyperlink{usb__template_8c_ac1536ea79836e5972f25ba49ab7d0b40}{usb\_temp\_sysctl}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00314}00314             \textcolor{stringliteral}{"{}A"{}}, \textcolor{stringliteral}{"{}Product string"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00315}00315         SYSCTL\_ADD\_PROC(\&\mbox{\hyperlink{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}{mtp\_ctx\_list}}, SYSCTL\_CHILDREN(parent), OID\_AUTO,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00316}00316             \textcolor{stringliteral}{"{}serial\_number"{}}, CTLTYPE\_STRING | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE,}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00317}00317             \&\mbox{\hyperlink{usb__template__mtp_8c_ae72d244176d64be94d17af6e2f8d3573}{mtp\_serial\_number}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__template__mtp_8c_ae72d244176d64be94d17af6e2f8d3573}{mtp\_serial\_number}}), \mbox{\hyperlink{usb__template_8c_ac1536ea79836e5972f25ba49ab7d0b40}{usb\_temp\_sysctl}},}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00318}00318             \textcolor{stringliteral}{"{}A"{}}, \textcolor{stringliteral}{"{}Serial number string"{}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00319}00319 \}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00320}00320 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00321}00321 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00322}\mbox{\hyperlink{usb__template__mtp_8c_a7191e4192e12019cbff4d7ca31832db2}{00322}} \mbox{\hyperlink{usb__template__mtp_8c_a7191e4192e12019cbff4d7ca31832db2}{mtp\_uninit}}(\textcolor{keywordtype}{void} *arg \_\_unused)}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00323}00323 \{}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00324}00324 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00325}00325         sysctl\_ctx\_free(\&\mbox{\hyperlink{usb__template__mtp_8c_a6bb06256b79ecf906e1dc51013bfe343}{mtp\_ctx\_list}});}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00326}00326 \}}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00327}00327 }
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00328}\mbox{\hyperlink{usb__template__mtp_8c_a950ebb598ad52bb933e6611c1c8bd009}{00328}} \mbox{\hyperlink{usb__template__mtp_8c_a950ebb598ad52bb933e6611c1c8bd009}{SYSINIT}}(\mbox{\hyperlink{usb__template__mtp_8c_ad53e2c0eb59dbdd89b48c28e48509601}{mtp\_init}}, SI\_SUB\_LOCK, SI\_ORDER\_FIRST, \mbox{\hyperlink{usb__template__mtp_8c_ad53e2c0eb59dbdd89b48c28e48509601}{mtp\_init}}, NULL);}
\DoxyCodeLine{\Hypertarget{usb__template__mtp_8c_source_l00329}\mbox{\hyperlink{usb__template__mtp_8c_a58d68802472b005fe87a842ab84b2f6b}{00329}} \mbox{\hyperlink{usb__template__mtp_8c_a58d68802472b005fe87a842ab84b2f6b}{SYSUNINIT}}(\mbox{\hyperlink{usb__template__mtp_8c_a7191e4192e12019cbff4d7ca31832db2}{mtp\_uninit}}, SI\_SUB\_LOCK, SI\_ORDER\_FIRST, \mbox{\hyperlink{usb__template__mtp_8c_a7191e4192e12019cbff4d7ca31832db2}{mtp\_uninit}}, NULL);}

\end{DoxyCode}
