\hypertarget{usb__dynamic_8h_source}{}\doxysection{usb\+\_\+dynamic.\+h}
\label{usb__dynamic_8h_source}\index{dev/usb/usb\_dynamic.h@{dev/usb/usb\_dynamic.h}}
\mbox{\hyperlink{usb__dynamic_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00001}00001 \textcolor{comment}{/* \$FreeBSD\$ */}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00002}00002 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00003}00003 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/2-\/Clause-\/FreeBSD}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00004}00004 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00005}00005 \textcolor{comment}{ * Copyright (c) 2008 Hans Petter Selasky. All rights reserved.}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00006}00006 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00007}00007 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00008}00008 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00009}00009 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00010}00010 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00011}00011 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00012}00012 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00013}00013 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00014}00014 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00015}00015 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00016}00016 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00017}00017 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00018}00018 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00019}00019 \textcolor{comment}{ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00020}00020 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00021}00021 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00022}00022 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00023}00023 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00024}00024 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00025}00025 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00026}00026 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00027}00027 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00028}00028 }
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00029}00029 \textcolor{preprocessor}{\#ifndef \_USB\_DYNAMIC\_H\_}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00030}00030 \textcolor{preprocessor}{\#define \_USB\_DYNAMIC\_H\_}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00031}00031 }
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00032}00032 \textcolor{comment}{/* prototypes */}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00033}00033 }
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00034}00034 \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device}{usb\_device}};}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00035}00035 \textcolor{keyword}{struct }\mbox{\hyperlink{structusbd__lookup__info}{usbd\_lookup\_info}};}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00036}00036 \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}};}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00037}00037 }
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00038}00038 \textcolor{comment}{/* typedefs */}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00039}00039 }
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00040}\mbox{\hyperlink{usb__dynamic_8h_a9357c96ebbac44e22695ffcbc91bfe00}{00040}} \textcolor{keyword}{typedef} \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}}  (\mbox{\hyperlink{usb__dynamic_8h_a9357c96ebbac44e22695ffcbc91bfe00}{usb\_temp\_setup\_by\_index\_t}})(\textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device}{usb\_device}} *udev,}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00041}00041                             uint16\_t index);}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00042}\mbox{\hyperlink{usb__dynamic_8h_abfd7492c90f96d733bcc925030bbadc3}{00042}} \textcolor{keyword}{typedef} uint8\_t         (\mbox{\hyperlink{usb__dynamic_8h_abfd7492c90f96d733bcc925030bbadc3}{usb\_test\_quirk\_t}})(\textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusbd__lookup__info}{usbd\_lookup\_info}} *info,}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00043}00043                             uint16\_t quirk);}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00044}\mbox{\hyperlink{usb__dynamic_8h_a1c3f23f2496a8eb9f488a160fab018d4}{00044}} \textcolor{keyword}{typedef} int             (\mbox{\hyperlink{usb__dynamic_8h_a1c3f23f2496a8eb9f488a160fab018d4}{usb\_quirk\_ioctl\_t}})(\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{long} cmd, caddr\_t data,}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00045}00045                             \textcolor{keywordtype}{int} fflag, \textcolor{keyword}{struct }thread *td);}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00046}\mbox{\hyperlink{usb__dynamic_8h_a8374d2efbf68370b727884a71ee9d1b5}{00046}} \textcolor{keyword}{typedef} void            (\mbox{\hyperlink{usb__dynamic_8h_a8374d2efbf68370b727884a71ee9d1b5}{usb\_temp\_unsetup\_t}})(\textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device}{usb\_device}} *udev);}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00047}\mbox{\hyperlink{usb__dynamic_8h_a6e8cd0a9521b3227fcc9df385d3afd55}{00047}} \textcolor{keyword}{typedef} void            (\mbox{\hyperlink{usb__dynamic_8h_a6e8cd0a9521b3227fcc9df385d3afd55}{usb\_linux\_free\_device\_t}})(\textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device}{usb\_device}} *udev);}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00048}00048 }
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00049}00049 \textcolor{comment}{/* global function pointers */}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00050}00050 }
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00051}00051 \textcolor{keyword}{extern} \mbox{\hyperlink{usbdi_8h_afa642180c02ceeda4775d44f798495c2}{usb\_handle\_req\_t}} *\mbox{\hyperlink{usb__dynamic_8h_a9b2789c56cd4d59f46ae5dfe4b3f75e8}{usb\_temp\_get\_desc\_p}};}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00052}00052 \textcolor{keyword}{extern} \mbox{\hyperlink{usb__dynamic_8h_a9357c96ebbac44e22695ffcbc91bfe00}{usb\_temp\_setup\_by\_index\_t}} *\mbox{\hyperlink{usb__dynamic_8h_a8c013a97e6e82b156336ba406d25eb7a}{usb\_temp\_setup\_by\_index\_p}};}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00053}00053 \textcolor{keyword}{extern} \mbox{\hyperlink{usb__dynamic_8h_a6e8cd0a9521b3227fcc9df385d3afd55}{usb\_linux\_free\_device\_t}} *\mbox{\hyperlink{usb__dynamic_8h_ae9d5593d39bddc8d00399a83baebcd34}{usb\_linux\_free\_device\_p}};}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00054}00054 \textcolor{keyword}{extern} \mbox{\hyperlink{usb__dynamic_8h_a8374d2efbf68370b727884a71ee9d1b5}{usb\_temp\_unsetup\_t}} *\mbox{\hyperlink{usb__dynamic_8h_a537286792fa0820aecdef36693670120}{usb\_temp\_unsetup\_p}};}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00055}00055 \textcolor{keyword}{extern} \mbox{\hyperlink{usb__dynamic_8h_abfd7492c90f96d733bcc925030bbadc3}{usb\_test\_quirk\_t}} *\mbox{\hyperlink{usb__dynamic_8h_ababdba29de6537d7a67d0e34523455b5}{usb\_test\_quirk\_p}};}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00056}00056 \textcolor{keyword}{extern} \mbox{\hyperlink{usb__dynamic_8h_a1c3f23f2496a8eb9f488a160fab018d4}{usb\_quirk\_ioctl\_t}} *\mbox{\hyperlink{usb__dynamic_8h_a79ae38ee72fb32c93959a69c9c9984e4}{usb\_quirk\_ioctl\_p}};}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00057}00057 \textcolor{keyword}{extern} devclass\_t \mbox{\hyperlink{usb__dynamic_8h_adf556021e8988d1fc682eb59a02c197d}{usb\_devclass\_ptr}};}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00058}00058 }
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00059}00059 \textcolor{comment}{/* function prototypes */}}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00060}00060 }
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00061}\mbox{\hyperlink{usb__dynamic_8h_add9c64843f728ae548b45edbfa76d199}{00061}} \textcolor{keywordtype}{void}    \mbox{\hyperlink{usb__dynamic_8h_add9c64843f728ae548b45edbfa76d199}{usb\_linux\_unload}}(\textcolor{keywordtype}{void} *);}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00062}00062 \textcolor{keywordtype}{void}    \mbox{\hyperlink{usb__dynamic_8h_aec39a1aa748f7318bf35c6bf6be77a5a}{usb\_temp\_unload}}(\textcolor{keywordtype}{void} *);}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00063}00063 \textcolor{keywordtype}{void}    \mbox{\hyperlink{usb__dynamic_8h_aba04ed47823ed09c13c4d177631d3e2f}{usb\_quirk\_unload}}(\textcolor{keywordtype}{void} *);}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00064}00064 \textcolor{keywordtype}{void}    \mbox{\hyperlink{usb__dynamic_8h_ada67e75c072a7d9d003a3071a79f287e}{usb\_bus\_unload}}(\textcolor{keywordtype}{void} *);}
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00065}00065 }
\DoxyCodeLine{\Hypertarget{usb__dynamic_8h_source_l00066}00066 \textcolor{preprocessor}{\#endif                                  }\textcolor{comment}{/* \_USB\_DYNAMIC\_H\_ */}\textcolor{preprocessor}{}}

\end{DoxyCode}
