\hypertarget{uslcom_8c_source}{}\doxysection{uslcom.\+c}
\label{uslcom_8c_source}\index{dev/usb/serial/uslcom.c@{dev/usb/serial/uslcom.c}}
\mbox{\hyperlink{uslcom_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00001}00001 \textcolor{comment}{/*      \$OpenBSD: uslcom.c,v 1.17 2007/11/24 10:52:12 jsg Exp \$ */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00002}00002 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00003}00003 \textcolor{preprocessor}{\#include <sys/cdefs.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00004}\mbox{\hyperlink{uslcom_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{00004}} \mbox{\hyperlink{uslcom_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\_\_FBSDID}}(\textcolor{stringliteral}{"{}\$FreeBSD\$"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00005}00005 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00006}00006 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00007}00007 \textcolor{comment}{ * Copyright (c) 2006 Jonathan Gray <jsg@openbsd.org>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00008}00008 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00009}00009 \textcolor{comment}{ * Permission to use, copy, modify, and distribute this software for any}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00010}00010 \textcolor{comment}{ * purpose with or without fee is hereby granted, provided that the above}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00011}00011 \textcolor{comment}{ * copyright notice and this permission notice appear in all copies.}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00012}00012 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00013}00013 \textcolor{comment}{ * THE SOFTWARE IS PROVIDED "{}AS IS"{} AND THE AUTHOR DISCLAIMS ALL WARRANTIES}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00014}00014 \textcolor{comment}{ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00015}00015 \textcolor{comment}{ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00016}00016 \textcolor{comment}{ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00017}00017 \textcolor{comment}{ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00018}00018 \textcolor{comment}{ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00019}00019 \textcolor{comment}{ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00020}00020 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00021}00021 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00022}00022 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00023}00023 \textcolor{comment}{ * Driver for Silicon Laboratories CP2101/CP2102/CP2103/CP2104/CP2105}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00024}00024 \textcolor{comment}{ * USB-\/Serial adapters.  Based on datasheet AN571, publicly available from}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00025}00025 \textcolor{comment}{ * http://www.silabs.com/Support\%20Documents/TechnicalDocs/AN571.pdf}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00026}00026 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00027}00027 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00028}00028 \textcolor{preprocessor}{\#include <sys/stdint.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00029}00029 \textcolor{preprocessor}{\#include <sys/stddef.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00030}00030 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00031}00031 \textcolor{preprocessor}{\#include <sys/queue.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00032}00032 \textcolor{preprocessor}{\#include <sys/types.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00033}00033 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00034}00034 \textcolor{preprocessor}{\#include <sys/kernel.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00035}00035 \textcolor{preprocessor}{\#include <sys/bus.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00036}00036 \textcolor{preprocessor}{\#include <sys/module.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00037}00037 \textcolor{preprocessor}{\#include <sys/lock.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00038}00038 \textcolor{preprocessor}{\#include <sys/mutex.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00039}00039 \textcolor{preprocessor}{\#include <sys/condvar.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00040}00040 \textcolor{preprocessor}{\#include <sys/sysctl.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00041}00041 \textcolor{preprocessor}{\#include <sys/sx.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00042}00042 \textcolor{preprocessor}{\#include <sys/unistd.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00043}00043 \textcolor{preprocessor}{\#include <sys/callout.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00044}00044 \textcolor{preprocessor}{\#include <sys/malloc.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00045}00045 \textcolor{preprocessor}{\#include <sys/priv.h>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00046}00046 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00047}00047 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb_8h}{dev/usb/usb.h}}>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00048}00048 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usbdi_8h}{dev/usb/usbdi.h}}>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00049}00049 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usbdi__util_8h}{dev/usb/usbdi\_util.h}}>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00050}00050 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__ioctl_8h}{dev/usb/usb\_ioctl.h}}>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00051}00051 \textcolor{preprocessor}{\#include "{}usbdevs.h"{}}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00052}00052 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00053}\mbox{\hyperlink{uslcom_8c_a927dd6f59caf10a2991dfb564bcbb1e1}{00053}} \textcolor{preprocessor}{\#define USB\_DEBUG\_VAR uslcom\_debug}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00054}00054 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__debug_8h}{dev/usb/usb\_debug.h}}>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00055}00055 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__process_8h}{dev/usb/usb\_process.h}}>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00056}00056 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00057}00057 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__serial_8h}{dev/usb/serial/usb\_serial.h}}>}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00058}00058 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00059}00059 \textcolor{preprocessor}{\#ifdef USB\_DEBUG}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00060}00060 \textcolor{keyword}{static} \textcolor{keywordtype}{int} uslcom\_debug = 0;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00061}00061 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00062}00062 \textcolor{keyword}{static} \mbox{\hyperlink{dwc__otg_8c_a58e125bcf985ce2333baef42f97b33b3}{SYSCTL\_NODE}}(\_hw\_usb, OID\_AUTO, uslcom, CTLFLAG\_RW | CTLFLAG\_MPSAFE, 0,}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00063}00063     \textcolor{stringliteral}{"{}USB uslcom"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00064}00064 \mbox{\hyperlink{dwc__otg_8c_a83d020f0b15dc2783f3f1a6966c75e36}{SYSCTL\_INT}}(\_hw\_usb\_uslcom, OID\_AUTO, \mbox{\hyperlink{cfumass_8c_ac3e1795766a80ec63b157951b4b9a7d4}{debug}}, CTLFLAG\_RWTUN,}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00065}00065     \&uslcom\_debug, 0, \textcolor{stringliteral}{"{}Debug level"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00066}00066 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00067}00067 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00068}\mbox{\hyperlink{uslcom_8c_a8d0834ed8892e5d7eac25426cbdf1b4b}{00068}} \textcolor{preprocessor}{\#define USLCOM\_BULK\_BUF\_SIZE    1024}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00069}\mbox{\hyperlink{uslcom_8c_a04ec9b87af743f4ddc447a87d77f9bb3}{00069}} \textcolor{preprocessor}{\#define USLCOM\_CONFIG\_INDEX     0}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00070}00070 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00071}00071 \textcolor{comment}{/* Request types */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00072}\mbox{\hyperlink{uslcom_8c_a98e7dcfd44266631ba9f4270882dd7d5}{00072}} \textcolor{preprocessor}{\#define USLCOM\_WRITE            0x41}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00073}\mbox{\hyperlink{uslcom_8c_a6bb589802262aa265e91ef606b730979}{00073}} \textcolor{preprocessor}{\#define USLCOM\_READ             0xc1}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00074}00074 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00075}00075 \textcolor{comment}{/* Request codes */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00076}\mbox{\hyperlink{uslcom_8c_a0221fa3041f334d0f89ff7bacb2b2a99}{00076}} \textcolor{preprocessor}{\#define USLCOM\_IFC\_ENABLE       0x00}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00077}\mbox{\hyperlink{uslcom_8c_aa5078c4b5f4c88f70da6b374feab11c9}{00077}} \textcolor{preprocessor}{\#define USLCOM\_SET\_BAUDDIV      0x01}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00078}\mbox{\hyperlink{uslcom_8c_ab78700a0a4c6db454c2a8c50d4b861af}{00078}} \textcolor{preprocessor}{\#define USLCOM\_SET\_LINE\_CTL     0x03}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00079}\mbox{\hyperlink{uslcom_8c_ac2ce2ed90e60ac1167c2750e0be52b6d}{00079}} \textcolor{preprocessor}{\#define USLCOM\_SET\_BREAK        0x05}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00080}\mbox{\hyperlink{uslcom_8c_aacf8678479e40cd7aaaf980ebbb24fdc}{00080}} \textcolor{preprocessor}{\#define USLCOM\_SET\_MHS          0x07}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00081}\mbox{\hyperlink{uslcom_8c_a95dab44b4d42efbc96df1a9418ed8f2f}{00081}} \textcolor{preprocessor}{\#define USLCOM\_GET\_MDMSTS       0x08}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00082}\mbox{\hyperlink{uslcom_8c_aa4b0bc53731e9f6503467fcb56ed71a1}{00082}} \textcolor{preprocessor}{\#define USLCOM\_SET\_FLOW         0x13}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00083}\mbox{\hyperlink{uslcom_8c_acd7073b68b54598834992fea9fe264e4}{00083}} \textcolor{preprocessor}{\#define USLCOM\_SET\_BAUDRATE     0x1e}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00084}\mbox{\hyperlink{uslcom_8c_aac8f8e442ce2bc936fbcd0518732b46a}{00084}} \textcolor{preprocessor}{\#define USLCOM\_VENDOR\_SPECIFIC  0xff}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00085}00085 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00086}00086 \textcolor{comment}{/* USLCOM\_IFC\_ENABLE values */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00087}\mbox{\hyperlink{uslcom_8c_ac95550ce265c53f520460bb4c4bc35fc}{00087}} \textcolor{preprocessor}{\#define USLCOM\_IFC\_ENABLE\_DIS   0x00}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00088}\mbox{\hyperlink{uslcom_8c_a297c2e9f9dd543bfb6fbc0f717513d6d}{00088}} \textcolor{preprocessor}{\#define USLCOM\_IFC\_ENABLE\_EN    0x01}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00089}00089 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00090}00090 \textcolor{comment}{/* USLCOM\_SET\_MHS/USLCOM\_GET\_MDMSTS values */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00091}\mbox{\hyperlink{uslcom_8c_a5d1e417ba88fe52fe86476de12b80b4b}{00091}} \textcolor{preprocessor}{\#define USLCOM\_MHS\_DTR\_ON       0x0001}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00092}\mbox{\hyperlink{uslcom_8c_ae91c925c92d6ab36d66eebc21e79607b}{00092}} \textcolor{preprocessor}{\#define USLCOM\_MHS\_DTR\_SET      0x0100}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00093}\mbox{\hyperlink{uslcom_8c_a2d9f2480db2604e6b2850a52ad2fc79c}{00093}} \textcolor{preprocessor}{\#define USLCOM\_MHS\_RTS\_ON       0x0002}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00094}\mbox{\hyperlink{uslcom_8c_a315903f11cd2706d8e7e28a113fc067f}{00094}} \textcolor{preprocessor}{\#define USLCOM\_MHS\_RTS\_SET      0x0200}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00095}\mbox{\hyperlink{uslcom_8c_ae58afd9dd1b587156ee34a7db3823b7d}{00095}} \textcolor{preprocessor}{\#define USLCOM\_MHS\_CTS          0x0010}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00096}\mbox{\hyperlink{uslcom_8c_ac0225f4f4e84d1c8786abda262d90437}{00096}} \textcolor{preprocessor}{\#define USLCOM\_MHS\_DSR          0x0020}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00097}\mbox{\hyperlink{uslcom_8c_a578b91c7e47f073fd7b9f93c0e8456b3}{00097}} \textcolor{preprocessor}{\#define USLCOM\_MHS\_RI           0x0040}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00098}\mbox{\hyperlink{uslcom_8c_aff871798ab2c82abe877dca99230b418}{00098}} \textcolor{preprocessor}{\#define USLCOM\_MHS\_DCD          0x0080}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00099}00099 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00100}00100 \textcolor{comment}{/* USLCOM\_SET\_BAUDDIV values */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00101}\mbox{\hyperlink{uslcom_8c_a56d7efbf40810dcd902a1e349d0b5b85}{00101}} \textcolor{preprocessor}{\#define USLCOM\_BAUDDIV\_REF      3686400 }\textcolor{comment}{/* 3.6864 MHz */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00102}00102 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00103}00103 \textcolor{comment}{/* USLCOM\_SET\_LINE\_CTL values */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00104}\mbox{\hyperlink{uslcom_8c_afa0e2643b07f51122ca429e570f4512a}{00104}} \textcolor{preprocessor}{\#define USLCOM\_STOP\_BITS\_1      0x00}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00105}\mbox{\hyperlink{uslcom_8c_a27fed74650f5b989838af0fc7f406b29}{00105}} \textcolor{preprocessor}{\#define USLCOM\_STOP\_BITS\_2      0x02}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00106}\mbox{\hyperlink{uslcom_8c_a87a060e5bb134dd7415f0f51ab4362a4}{00106}} \textcolor{preprocessor}{\#define USLCOM\_PARITY\_NONE      0x00}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00107}\mbox{\hyperlink{uslcom_8c_a438555831695d04ab44cf70a88915e28}{00107}} \textcolor{preprocessor}{\#define USLCOM\_PARITY\_ODD       0x10}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00108}\mbox{\hyperlink{uslcom_8c_a4904ccbba8fa9dea45dde639d8a40ff5}{00108}} \textcolor{preprocessor}{\#define USLCOM\_PARITY\_EVEN      0x20}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00109}\mbox{\hyperlink{uslcom_8c_abc81a5ceead986340969d4932e6f5224}{00109}} \textcolor{preprocessor}{\#define USLCOM\_SET\_DATA\_BITS(x) ((x) << 8)}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00110}00110 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00111}00111 \textcolor{comment}{/* USLCOM\_SET\_BREAK values */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00112}\mbox{\hyperlink{uslcom_8c_a24bddd5eb1f38a2db6b62987f7b9a7ce}{00112}} \textcolor{preprocessor}{\#define USLCOM\_SET\_BREAK\_OFF    0x00}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00113}\mbox{\hyperlink{uslcom_8c_a314ba60946d1b273edefbe2ab11b3b2b}{00113}} \textcolor{preprocessor}{\#define USLCOM\_SET\_BREAK\_ON     0x01}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00114}00114 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00115}00115 \textcolor{comment}{/* USLCOM\_SET\_FLOW values -\/ 1st word */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00116}\mbox{\hyperlink{uslcom_8c_aad2a7645b7c40648de17ce558f25eca7}{00116}} \textcolor{preprocessor}{\#define USLCOM\_FLOW\_DTR\_ON      0x00000001 }\textcolor{comment}{/* DTR static active */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00117}\mbox{\hyperlink{uslcom_8c_aa727154967db9e31327c1da802681866}{00117}} \textcolor{preprocessor}{\#define USLCOM\_FLOW\_CTS\_HS      0x00000008 }\textcolor{comment}{/* CTS handshake */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00118}00118 \textcolor{comment}{/* USLCOM\_SET\_FLOW values -\/ 2nd word */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00119}\mbox{\hyperlink{uslcom_8c_a947602880b4df3ef8b326e32fe89d4a6}{00119}} \textcolor{preprocessor}{\#define USLCOM\_FLOW\_RTS\_ON      0x00000040 }\textcolor{comment}{/* RTS static active */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00120}\mbox{\hyperlink{uslcom_8c_a70278b7645ea9f32dfada407f3a43eb6}{00120}} \textcolor{preprocessor}{\#define USLCOM\_FLOW\_RTS\_HS      0x00000080 }\textcolor{comment}{/* RTS handshake */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00121}00121 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00122}00122 \textcolor{comment}{/* USLCOM\_VENDOR\_SPECIFIC values */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00123}\mbox{\hyperlink{uslcom_8c_a4261ba73327263dd5ce5ad6718209575}{00123}} \textcolor{preprocessor}{\#define USLCOM\_GET\_PARTNUM      0x370B}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00124}\mbox{\hyperlink{uslcom_8c_a8ebaace8986e0f566f3e208445b81187}{00124}} \textcolor{preprocessor}{\#define USLCOM\_WRITE\_LATCH      0x37E1}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00125}\mbox{\hyperlink{uslcom_8c_ad391665bbe678d6ba8304cdc6ee033f6}{00125}} \textcolor{preprocessor}{\#define USLCOM\_READ\_LATCH       0x00C2}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00126}00126 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00127}00127 \textcolor{comment}{/* USLCOM\_GET\_PARTNUM values from hardware */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00128}\mbox{\hyperlink{uslcom_8c_a2c65ad4f2da73068ec32b8986b9ac430}{00128}} \textcolor{preprocessor}{\#define USLCOM\_PARTNUM\_CP2101   1}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00129}\mbox{\hyperlink{uslcom_8c_a7df47e7ded1f72cf16b11f57e181c4e4}{00129}} \textcolor{preprocessor}{\#define USLCOM\_PARTNUM\_CP2102   2}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00130}\mbox{\hyperlink{uslcom_8c_a562b6cf647fecd8969717c6026e474cd}{00130}} \textcolor{preprocessor}{\#define USLCOM\_PARTNUM\_CP2103   3}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00131}\mbox{\hyperlink{uslcom_8c_a59749b1950fdac2d8c70ef0089a94b1a}{00131}} \textcolor{preprocessor}{\#define USLCOM\_PARTNUM\_CP2104   4}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00132}\mbox{\hyperlink{uslcom_8c_a32067059de3a1e402dc2a6388fc8c4da}{00132}} \textcolor{preprocessor}{\#define USLCOM\_PARTNUM\_CP2105   5}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00133}00133 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00134}00134 \textcolor{keyword}{enum} \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00135}\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67a81e7f5f4fdc62775604a46cbe8c06132}{00135}}         \mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67a81e7f5f4fdc62775604a46cbe8c06132}{USLCOM\_BULK\_DT\_WR}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00136}\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67ada2a3236716057cb45499aa4c1170845}{00136}}         \mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67ada2a3236716057cb45499aa4c1170845}{USLCOM\_BULK\_DT\_RD}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00137}\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67ac7d8356c8d7ed9a076af195aac2267e2}{00137}}         \mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67ac7d8356c8d7ed9a076af195aac2267e2}{USLCOM\_CTRL\_DT\_RD}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00138}\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67a56d5bb3b4faf9f9dadd5be4fcebd274f}{00138}}         \mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67a56d5bb3b4faf9f9dadd5be4fcebd274f}{USLCOM\_N\_TRANSFER}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00139}00139 \};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00140}00140 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00141}\mbox{\hyperlink{structuslcom__softc}{00141}} \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00142}\mbox{\hyperlink{structuslcom__softc_a59a1b49f13413d8c531d6a92cd3dfaa4}{00142}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structucom__super__softc}{ucom\_super\_softc}} \mbox{\hyperlink{structuslcom__softc_a59a1b49f13413d8c531d6a92cd3dfaa4}{sc\_super\_ucom}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00143}\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{00143}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structucom__softc}{ucom\_softc}} \mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00144}\mbox{\hyperlink{structuslcom__softc_a3a22b2fbf65495e9c386e05ec5bba0f7}{00144}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__callout}{usb\_callout}} \mbox{\hyperlink{structuslcom__softc_a3a22b2fbf65495e9c386e05ec5bba0f7}{sc\_watchdog}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00145}00145 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00146}\mbox{\hyperlink{structuslcom__softc_a61d8af070d99e34876f38c3be4820803}{00146}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *\mbox{\hyperlink{structuslcom__softc_a61d8af070d99e34876f38c3be4820803}{sc\_xfer}}[\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67a56d5bb3b4faf9f9dadd5be4fcebd274f}{USLCOM\_N\_TRANSFER}}];}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00147}\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{00147}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device}{usb\_device}} *\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{sc\_udev}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00148}\mbox{\hyperlink{structuslcom__softc_a835c676ac8106f63ed5d2628be8bbeed}{00148}}         \textcolor{keyword}{struct }mtx \mbox{\hyperlink{structuslcom__softc_a835c676ac8106f63ed5d2628be8bbeed}{sc\_mtx}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00149}00149 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00150}\mbox{\hyperlink{structuslcom__softc_a29999ad60b9c46b1af2d7b4b4b05af9d}{00150}}         uint8\_t \mbox{\hyperlink{structuslcom__softc_a29999ad60b9c46b1af2d7b4b4b05af9d}{sc\_msr}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00151}\mbox{\hyperlink{structuslcom__softc_a369ba5271ea716d0a3cf8017aac92dd9}{00151}}         uint8\_t \mbox{\hyperlink{structuslcom__softc_a369ba5271ea716d0a3cf8017aac92dd9}{sc\_lsr}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00152}\mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{00152}}         uint8\_t \mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{sc\_iface\_no}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00153}\mbox{\hyperlink{structuslcom__softc_a4af5b4da948014a88a05ebfc6e61c821}{00153}}         uint8\_t \mbox{\hyperlink{structuslcom__softc_a4af5b4da948014a88a05ebfc6e61c821}{sc\_partnum}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00154}00154 \};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00155}00155 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00156}\mbox{\hyperlink{uslcom_8c_a261ac1a200d64111ee9cc1f2448649e4}{00156}} \textcolor{keyword}{static} device\_probe\_t \mbox{\hyperlink{uslcom_8c_a261ac1a200d64111ee9cc1f2448649e4}{uslcom\_probe}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00157}\mbox{\hyperlink{uslcom_8c_a84a08381d2e75c82d2258108b2f7479e}{00157}} \textcolor{keyword}{static} device\_attach\_t \mbox{\hyperlink{uslcom_8c_a84a08381d2e75c82d2258108b2f7479e}{uslcom\_attach}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00158}\mbox{\hyperlink{uslcom_8c_a2ee65ad56c550009a72290c384d43c25}{00158}} \textcolor{keyword}{static} device\_detach\_t \mbox{\hyperlink{uslcom_8c_a2ee65ad56c550009a72290c384d43c25}{uslcom\_detach}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00159}00159 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_a1b5fd6501e5bd3671ceeac87f9757c3b}{uslcom\_free\_softc}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00160}00160 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00161}\mbox{\hyperlink{uslcom_8c_a58e79e00daeaf9864671092879a93203}{00161}} \textcolor{keyword}{static} \mbox{\hyperlink{usbdi_8h_aad1085e1e87347ed71e554c4b0209239}{usb\_callback\_t}} \mbox{\hyperlink{uslcom_8c_a58e79e00daeaf9864671092879a93203}{uslcom\_write\_callback}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00162}\mbox{\hyperlink{uslcom_8c_aa2a6e1aee939c00480fbb461b7444a2e}{00162}} \textcolor{keyword}{static} \mbox{\hyperlink{usbdi_8h_aad1085e1e87347ed71e554c4b0209239}{usb\_callback\_t}} \mbox{\hyperlink{uslcom_8c_aa2a6e1aee939c00480fbb461b7444a2e}{uslcom\_read\_callback}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00163}\mbox{\hyperlink{uslcom_8c_ac10b3d15f906f8d83b076d69e55ab006}{00163}} \textcolor{keyword}{static} \mbox{\hyperlink{usbdi_8h_aad1085e1e87347ed71e554c4b0209239}{usb\_callback\_t}} \mbox{\hyperlink{uslcom_8c_ac10b3d15f906f8d83b076d69e55ab006}{uslcom\_control\_callback}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00164}00164 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00165}00165 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_a272d461a72cc73e8874f5da7ccdcaca1}{uslcom\_free}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00166}00166 \textcolor{keyword}{static} uint8\_t \mbox{\hyperlink{uslcom_8c_a48ab2fe539b5f3082c778639bff10a97}{uslcom\_get\_partnum}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00167}00167 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_a4aae912518b6796c16d3d40bd491e8f9}{uslcom\_cfg\_open}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00168}00168 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_ae75e0ad99177a02c0d4da1bdae968fbd}{uslcom\_cfg\_close}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00169}00169 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_a2c14c3d7cfeb2407103ee36351234cd5}{uslcom\_cfg\_set\_dtr}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, uint8\_t);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00170}00170 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_a07bac9eb8af53b59cef3c5bf332f0aa0}{uslcom\_cfg\_set\_rts}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, uint8\_t);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00171}00171 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_a5d0342ce5c6f96c75eb5ef68c92e5256}{uslcom\_cfg\_set\_break}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, uint8\_t);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00172}00172 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_a2bab5a997b7fe3f27b0fd9d756dfc63f}{uslcom\_cfg\_param}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, \textcolor{keyword}{struct} termios *);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00173}00173 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_af993a31b41b3e60e2478cc6f10d00d0d}{uslcom\_cfg\_get\_status}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, uint8\_t *, uint8\_t *);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00174}00174 \textcolor{keyword}{static} \textcolor{keywordtype}{int} \mbox{\hyperlink{uslcom_8c_a2f572a4d6c74ae59329ece0b978a49a7}{uslcom\_ioctl}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, uint32\_t, caddr\_t, \textcolor{keywordtype}{int},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00175}00175     \textcolor{keyword}{struct} thread *);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00176}00176 \textcolor{keyword}{static} \textcolor{keywordtype}{int} \mbox{\hyperlink{uslcom_8c_a3154a820d57ea28136632d6e2f4790a6}{uslcom\_pre\_param}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, \textcolor{keyword}{struct} termios *);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00177}00177 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_ad40c05f8429204a4235162c64a1b68e1}{uslcom\_start\_read}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00178}00178 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_a519a1d9a8f13d6ac221e777364cd5613}{uslcom\_stop\_read}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00179}00179 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_af6fee5c2376268f443f96fa7dde77099}{uslcom\_start\_write}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00180}00180 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_a736aeb25fb0d33ebee895eab44c8d852}{uslcom\_stop\_write}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00181}00181 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uslcom_8c_a7ca5deabbaf7e9566fd82251ac8a38d8}{uslcom\_poll}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00182}00182 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00183}\mbox{\hyperlink{uslcom_8c_a31c9e2a688e7546b399e219fb2ebb8a7}{00183}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__config}{usb\_config}} \mbox{\hyperlink{uslcom_8c_a31c9e2a688e7546b399e219fb2ebb8a7}{uslcom\_config}}[\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67a56d5bb3b4faf9f9dadd5be4fcebd274f}{USLCOM\_N\_TRANSFER}}] = \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00184}00184         [\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67a81e7f5f4fdc62775604a46cbe8c06132}{USLCOM\_BULK\_DT\_WR}}] = \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00185}00185                 .\mbox{\hyperlink{structusb__config_a5bd5d569870291a54d9bed8377ed8b10}{type}} = \mbox{\hyperlink{usb_8h_a25240fc009aa67bb7a2b635d2e9401e4}{UE\_BULK}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00186}00186                 .endpoint = \mbox{\hyperlink{usb_8h_a1e8d1f402536e634471569b83f603197}{UE\_ADDR\_ANY}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00187}00187                 .direction = \mbox{\hyperlink{usb_8h_a9a98e1bc9388db2ab5213e9d6496e851}{UE\_DIR\_OUT}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00188}00188                 .bufsize = \mbox{\hyperlink{uslcom_8c_a8d0834ed8892e5d7eac25426cbdf1b4b}{USLCOM\_BULK\_BUF\_SIZE}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00189}00189                .flags = \{.pipe\_bof = 1,\},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00190}00190                 .callback = \&\mbox{\hyperlink{uslcom_8c_a58e79e00daeaf9864671092879a93203}{uslcom\_write\_callback}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00191}00191         \},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00192}00192 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00193}00193         [\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67ada2a3236716057cb45499aa4c1170845}{USLCOM\_BULK\_DT\_RD}}] = \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00194}00194                 .type = \mbox{\hyperlink{usb_8h_a25240fc009aa67bb7a2b635d2e9401e4}{UE\_BULK}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00195}00195                 .endpoint = \mbox{\hyperlink{usb_8h_a1e8d1f402536e634471569b83f603197}{UE\_ADDR\_ANY}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00196}00196                 .direction = \mbox{\hyperlink{usb_8h_a72bb077a860132c175c166f344c75893}{UE\_DIR\_IN}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00197}00197                 .bufsize = \mbox{\hyperlink{uslcom_8c_a8d0834ed8892e5d7eac25426cbdf1b4b}{USLCOM\_BULK\_BUF\_SIZE}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00198}00198                 .flags = \{.pipe\_bof = 1,.short\_xfer\_ok = 1,\},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00199}00199                 .callback = \&\mbox{\hyperlink{uslcom_8c_aa2a6e1aee939c00480fbb461b7444a2e}{uslcom\_read\_callback}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00200}00200         \},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00201}00201         [\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67ac7d8356c8d7ed9a076af195aac2267e2}{USLCOM\_CTRL\_DT\_RD}}] = \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00202}00202                 .type = \mbox{\hyperlink{usb_8h_ace49b7adb24ebcb0a0b17110c26aa63a}{UE\_CONTROL}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00203}00203                 .endpoint = 0x00,}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00204}00204                 .direction = \mbox{\hyperlink{usb_8h_a0b305068483ac39f5d34f848bcb95c11}{UE\_DIR\_ANY}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00205}00205                 .bufsize = \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}}) + 8,}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00206}00206                 .flags = \{.pipe\_bof = 1,\},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00207}00207                 .callback = \&\mbox{\hyperlink{uslcom_8c_ac10b3d15f906f8d83b076d69e55ab006}{uslcom\_control\_callback}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00208}00208                 .timeout = 1000,        \textcolor{comment}{/* 1 second timeout */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00209}00209         \},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00210}00210 \};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00211}00211 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00212}\mbox{\hyperlink{uslcom_8c_a42bee093a683ee04517ee02b0aa0ac6e}{00212}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structucom__callback}{ucom\_callback}} \mbox{\hyperlink{uslcom_8c_a42bee093a683ee04517ee02b0aa0ac6e}{uslcom\_callback}} = \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00213}00213         .\mbox{\hyperlink{structucom__callback_af543b5023679a91b3ae77ed22f2df40d}{ucom\_cfg\_get\_status}} = \&\mbox{\hyperlink{uslcom_8c_af993a31b41b3e60e2478cc6f10d00d0d}{uslcom\_cfg\_get\_status}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00214}00214         .ucom\_cfg\_set\_dtr = \&\mbox{\hyperlink{uslcom_8c_a2c14c3d7cfeb2407103ee36351234cd5}{uslcom\_cfg\_set\_dtr}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00215}00215         .ucom\_cfg\_set\_rts = \&\mbox{\hyperlink{uslcom_8c_a07bac9eb8af53b59cef3c5bf332f0aa0}{uslcom\_cfg\_set\_rts}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00216}00216         .ucom\_cfg\_set\_break = \&\mbox{\hyperlink{uslcom_8c_a5d0342ce5c6f96c75eb5ef68c92e5256}{uslcom\_cfg\_set\_break}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00217}00217         .ucom\_cfg\_open = \&\mbox{\hyperlink{uslcom_8c_a4aae912518b6796c16d3d40bd491e8f9}{uslcom\_cfg\_open}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00218}00218         .ucom\_cfg\_close = \&\mbox{\hyperlink{uslcom_8c_ae75e0ad99177a02c0d4da1bdae968fbd}{uslcom\_cfg\_close}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00219}00219         .ucom\_cfg\_param = \&\mbox{\hyperlink{uslcom_8c_a2bab5a997b7fe3f27b0fd9d756dfc63f}{uslcom\_cfg\_param}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00220}00220         .ucom\_pre\_param = \&\mbox{\hyperlink{uslcom_8c_a3154a820d57ea28136632d6e2f4790a6}{uslcom\_pre\_param}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00221}00221         .ucom\_ioctl = \&\mbox{\hyperlink{uslcom_8c_a2f572a4d6c74ae59329ece0b978a49a7}{uslcom\_ioctl}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00222}00222         .ucom\_start\_read = \&\mbox{\hyperlink{uslcom_8c_ad40c05f8429204a4235162c64a1b68e1}{uslcom\_start\_read}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00223}00223         .ucom\_stop\_read = \&\mbox{\hyperlink{uslcom_8c_a519a1d9a8f13d6ac221e777364cd5613}{uslcom\_stop\_read}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00224}00224         .ucom\_start\_write = \&\mbox{\hyperlink{uslcom_8c_af6fee5c2376268f443f96fa7dde77099}{uslcom\_start\_write}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00225}00225         .ucom\_stop\_write = \&\mbox{\hyperlink{uslcom_8c_a736aeb25fb0d33ebee895eab44c8d852}{uslcom\_stop\_write}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00226}00226         .ucom\_poll = \&\mbox{\hyperlink{uslcom_8c_a7ca5deabbaf7e9566fd82251ac8a38d8}{uslcom\_poll}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00227}00227         .ucom\_free = \&\mbox{\hyperlink{uslcom_8c_a272d461a72cc73e8874f5da7ccdcaca1}{uslcom\_free}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00228}00228 \};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00229}00229 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00230}\mbox{\hyperlink{uslcom_8c_a2b36a8ed1feb81faf81b2a22f200e6e2}{00230}} \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{usbdi_8h_acf836fd8d6349b66a31f45420728da8d}{STRUCT\_USB\_HOST\_ID}} \mbox{\hyperlink{uslcom_8c_a2b36a8ed1feb81faf81b2a22f200e6e2}{uslcom\_devs}}[] = \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00231}00231 \textcolor{preprocessor}{\#define USLCOM\_DEV(v,p)  \{ USB\_VP(USB\_VENDOR\_\#\#v, USB\_PRODUCT\_\#\#v\#\#\_\#\#p) \}}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00232}00232     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(BALTECH, CARDREADER),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00233}00233     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(CLIPSAL, 5000CT2),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00234}00234     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(CLIPSAL, 5500PACA),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00235}00235     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(CLIPSAL, 5500PCU),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00236}00236     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(CLIPSAL, 560884),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00237}00237     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(CLIPSAL, 5800PC),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00238}00238     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(CLIPSAL, C5000CT2),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00239}00239     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(CLIPSAL, L51xx),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00240}00240     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(DATAAPEX, MULTICOM),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00241}00241     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(DELL, DW700),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00242}00242     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(DIGIANSWER, ZIGBEE802154),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00243}00243     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(DYNASTREAM, ANTDEVBOARD),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00244}00244     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(DYNASTREAM, ANTDEVBOARD2),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00245}00245     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(DYNASTREAM, ANT2USB),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00246}00246     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(ELV, USBI2C),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00247}00247     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(FESTO, CMSP),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00248}00248     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(FESTO, CPX\_USB),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00249}00249     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(FOXCONN, PIRELLI\_DP\_L10),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00250}00250     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(FOXCONN, TCOM\_TC\_300),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00251}00251     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(GEMALTO, PROXPU),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00252}00252     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(JABLOTRON, PC60B),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00253}00253     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(KAMSTRUP, OPTICALEYE),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00254}00254     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(KAMSTRUP, MBUS\_250D),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00255}00255     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 121),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00256}00256     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 218\mbox{\hyperlink{uhid__snes_8c_a955f504eccf76b4eb2489c0adab03121}{A}}),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00257}00257     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 219),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00258}00258     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 233),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00259}00259     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 235),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00260}00260     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 335),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00261}00261     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 336),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00262}00262     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 350),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00263}00263     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 371),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00264}00264     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 411),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00265}00265     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 425),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00266}00266     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 455\mbox{\hyperlink{uhid__snes_8c_a955f504eccf76b4eb2489c0adab03121}{A}}),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00267}00267     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 465),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00268}00268     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 475\mbox{\hyperlink{uhid__snes_8c_a955f504eccf76b4eb2489c0adab03121}{A}}),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00269}00269     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 625\mbox{\hyperlink{uhid__snes_8c_a955f504eccf76b4eb2489c0adab03121}{A}}),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00270}00270     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 642\mbox{\hyperlink{uhid__snes_8c_a955f504eccf76b4eb2489c0adab03121}{A}}),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00271}00271     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 648),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00272}00272     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 737),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00273}00273     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LAKESHORE, 776),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00274}00274     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LINKINSTRUMENTS, MSO19),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00275}00275     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LINKINSTRUMENTS, MSO28),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00276}00276     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(LINKINSTRUMENTS, MSO28\_2),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00277}00277     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(MEI, CASHFLOW\_SC),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00278}00278     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(MEI, S2000),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00279}00279     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(NETGEAR, M4100),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00280}00280     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(OWEN, AC4),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00281}00281     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(OWL, CM\_160),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00282}00282     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(PHILIPS, ACE1001),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00283}00283     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(PLX, CA42),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00284}00284     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(RENESAS, RX610),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00285}00285     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(\textcolor{keywordtype}{SEL}, C662),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00286}00286     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, AC\_SERV\_CAN),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00287}00287     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, AC\_SERV\_CIS),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00288}00288     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, AC\_SERV\_IBUS),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00289}00289     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, AC\_SERV\_OBD),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00290}00290     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, AEROCOMM),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00291}00291     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, AMBER\_AMB2560),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00292}00292     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, ARGUSISP),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00293}00293     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, ARKHAM\_DS101\_A),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00294}00294     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, ARKHAM\_DS101\_M),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00295}00295     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, ARYGON\_MIFARE),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00296}00296     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, AVIT\_USB\_TTL),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00297}00297     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, B\_G\_H3000),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00298}00298     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, BALLUFF\_RFID),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00299}00299     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, BEI\_VCP),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00300}00300     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, BSM7DUSB),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00301}00301     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, BURNSIDE),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00302}00302     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, C2\_EDGE\_MODEM),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00303}00303     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, CP2102),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00304}00304     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, CP210X\_2),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00305}00305     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, CP210X\_3),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00306}00306     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, CP210X\_4),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00307}00307     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, CRUMB128),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00308}00308     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, CYGNAL),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00309}00309     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, CYGNAL\_DEBUG),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00310}00310     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, CYGNAL\_GPS),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00311}00311     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, DEGREE),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00312}00312     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, DEKTEK\_DTAPLUS),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00313}00313     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, EMS\_C1007),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00314}00314     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, HAMLINKUSB),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00315}00315     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, HELICOM),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00316}00316     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, HUBZ),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00317}00317     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, BV\_AV2010\_10),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00318}00318     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, IMS\_USB\_RS422),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00319}00319     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, INFINITY\_MIC),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00320}00320     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, INGENI\_ZIGBEE),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00321}00321     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, INSYS\_MODEM),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00322}00322     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, IRZ\_SG10),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00323}00323     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, KYOCERA\_GPS),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00324}00324     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, LIPOWSKY\_HARP),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00325}00325     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, LIPOWSKY\_JTAG),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00326}00326     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, LIPOWSKY\_LIN),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00327}00327     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, MC35PU),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00328}00328     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, MMB\_ZIGBEE),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00329}00329     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, MJS\_TOSLINK),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00330}00330     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, MSD\_DASHHAWK),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00331}00331     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, MULTIPLEX\_RC),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00332}00332     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, OPTRIS\_MSPRO),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00333}00333     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, POLOLU),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00334}00334     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, PROCYON\_AVS),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00335}00335     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, SB\_PARAMOUNT\_ME),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00336}00336     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, SUUNTO),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00337}00337     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, TAMSMASTER),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00338}00338     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, TELEGESIS\_ETRX2),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00339}00339     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, TRACIENT),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00340}00340     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, TRAQMATE),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00341}00341     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, USBCOUNT50),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00342}00342     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, USBPULSE100),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00343}00343     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, USBSCOPE50),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00344}00344     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, USBWAVE12),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00345}00345     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, V\_PREON32),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00346}00346     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, VSTABI),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00347}00347     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, WAVIT),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00348}00348     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, WMRBATT),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00349}00349     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, WMRRIGBLASTER),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00350}00350     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, WMRRIGTALK),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00351}00351     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS, ZEPHYR\_BIO),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00352}00352     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS2, DCU11CLONE),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00353}00353     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS3, GPRS\_MODEM),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00354}00354     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SILABS4, 100EU\_MODEM),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00355}00355     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(SYNTECH, CYPHERLAB100),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00356}00356     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(USI, MC60),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00357}00357     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(VAISALA, CABLE),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00358}00358     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(WAGO, SERVICECABLE),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00359}00359     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(WAVESENSE, JAZZ),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00360}00360     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(WESTMOUNTAIN, RIGBLASTER\_ADVANTAGE),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00361}00361     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(WIENERPLEINBAUS, PL512),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00362}00362     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(WIENERPLEINBAUS, RCM),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00363}00363     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(WIENERPLEINBAUS, MPOD),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00364}00364     \mbox{\hyperlink{uslcom_8c_adb6df4ff2b79bc2dd5c9aaa54fbf494c}{USLCOM\_DEV}}(WIENERPLEINBAUS, CML),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00365}00365 \textcolor{preprocessor}{\#undef USLCOM\_DEV}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00366}00366 \};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00367}00367 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00368}\mbox{\hyperlink{uslcom_8c_a95e083c11090d0c5c53180f4b0ce83ee}{00368}} \textcolor{keyword}{static} device\_method\_t \mbox{\hyperlink{uslcom_8c_a95e083c11090d0c5c53180f4b0ce83ee}{uslcom\_methods}}[] = \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00369}00369         DEVMETHOD(device\_probe, \mbox{\hyperlink{uslcom_8c_a261ac1a200d64111ee9cc1f2448649e4}{uslcom\_probe}}),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00370}00370         DEVMETHOD(device\_attach, \mbox{\hyperlink{uslcom_8c_a84a08381d2e75c82d2258108b2f7479e}{uslcom\_attach}}),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00371}00371         DEVMETHOD(device\_detach, \mbox{\hyperlink{uslcom_8c_a2ee65ad56c550009a72290c384d43c25}{uslcom\_detach}}),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00372}00372         DEVMETHOD\_END}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00373}00373 \};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00374}00374 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00375}\mbox{\hyperlink{uslcom_8c_ad2844f46791956bba80cf0c1cc0ecca0}{00375}} \textcolor{keyword}{static} devclass\_t \mbox{\hyperlink{uslcom_8c_ad2844f46791956bba80cf0c1cc0ecca0}{uslcom\_devclass}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00376}00376 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00377}\mbox{\hyperlink{uslcom_8c_ab4810b2da07d0a93c4b30dac5c3c61d1}{00377}} \textcolor{keyword}{static} driver\_t \mbox{\hyperlink{uslcom_8c_ab4810b2da07d0a93c4b30dac5c3c61d1}{uslcom\_driver}} = \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00378}00378         .name = \textcolor{stringliteral}{"{}uslcom"{}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00379}00379         .methods = \mbox{\hyperlink{uslcom_8c_a95e083c11090d0c5c53180f4b0ce83ee}{uslcom\_methods}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00380}00380         .size = \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}}),}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00381}00381 \};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00382}00382 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00383}\mbox{\hyperlink{uslcom_8c_a032235e38e02d3f383d537a2b2a66b15}{00383}} \mbox{\hyperlink{uslcom_8c_a032235e38e02d3f383d537a2b2a66b15}{DRIVER\_MODULE}}(uslcom, uhub, \mbox{\hyperlink{uslcom_8c_ab4810b2da07d0a93c4b30dac5c3c61d1}{uslcom\_driver}}, \mbox{\hyperlink{uslcom_8c_ad2844f46791956bba80cf0c1cc0ecca0}{uslcom\_devclass}}, NULL, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00384}\mbox{\hyperlink{uslcom_8c_abbf5bd9ff90ccd4a88c3b35ec37dd55a}{00384}} \mbox{\hyperlink{uslcom_8c_abbf5bd9ff90ccd4a88c3b35ec37dd55a}{MODULE\_DEPEND}}(uslcom, ucom, 1, 1, 1);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00385}\mbox{\hyperlink{uslcom_8c_a406d085d59260088e8c184ab2188ea84}{00385}} \mbox{\hyperlink{uslcom_8c_abbf5bd9ff90ccd4a88c3b35ec37dd55a}{MODULE\_DEPEND}}(uslcom, \mbox{\hyperlink{usb__if_8m_adfa3f6da9c4881e494b180c4ebb06470}{usb}}, 1, 1, 1);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00386}\mbox{\hyperlink{uslcom_8c_a435a071e3de8462d8a30a1450736fc3f}{00386}} \mbox{\hyperlink{uslcom_8c_a435a071e3de8462d8a30a1450736fc3f}{MODULE\_VERSION}}(uslcom, 1);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00387}\mbox{\hyperlink{uslcom_8c_aa162e68f7c6aec3ca6f0a5b39037e1a4}{00387}} \mbox{\hyperlink{uslcom_8c_aa162e68f7c6aec3ca6f0a5b39037e1a4}{USB\_PNP\_HOST\_INFO}}(\mbox{\hyperlink{uslcom_8c_a2b36a8ed1feb81faf81b2a22f200e6e2}{uslcom\_devs}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00388}00388 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00389}00389 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00390}\mbox{\hyperlink{uslcom_8c_a6007e18edd4edc086b13a87562f9e0ba}{00390}} \mbox{\hyperlink{uslcom_8c_a6007e18edd4edc086b13a87562f9e0ba}{uslcom\_watchdog}}(\textcolor{keywordtype}{void} *arg)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00391}00391 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00392}00392         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = arg;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00393}00393 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00394}00394         mtx\_assert(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a835c676ac8106f63ed5d2628be8bbeed}{sc\_mtx}}, MA\_OWNED);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00395}00395 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00396}00396         \mbox{\hyperlink{usb__transfer_8c_a7a1f2d22a70b832e8cc31366adec443d}{usbd\_transfer\_start}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a61d8af070d99e34876f38c3be4820803}{sc\_xfer}}[\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67ac7d8356c8d7ed9a076af195aac2267e2}{USLCOM\_CTRL\_DT\_RD}}]);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00397}00397 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00398}00398         \mbox{\hyperlink{usbdi_8h_a5ba556ca3595eb8006822a123ac9d54f}{usb\_callout\_reset}}(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a3a22b2fbf65495e9c386e05ec5bba0f7}{sc\_watchdog}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00399}00399             hz / 4, \&\mbox{\hyperlink{uslcom_8c_a6007e18edd4edc086b13a87562f9e0ba}{uslcom\_watchdog}}, sc);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00400}00400 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00401}00401 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00402}00402 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00403}\mbox{\hyperlink{uslcom_8c_a38bb452cd2e251ba388b0d3c1818c6c4}{00403}} \mbox{\hyperlink{uslcom_8c_a261ac1a200d64111ee9cc1f2448649e4}{uslcom\_probe}}(device\_t dev)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00404}00404 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00405}00405         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__attach__arg}{usb\_attach\_arg}} *uaa = device\_get\_ivars(dev);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00406}00406 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00407}00407         DPRINTFN(11, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00408}00408 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00409}00409         \textcolor{keywordflow}{if} (uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a246691e99681281d3113d63e81b7e4f0}{usb\_mode}} != \mbox{\hyperlink{usb_8h_a9bc559812598988121896dceb483806ba1c7091216cfa9c9f4a252b0825ed32cb}{USB\_MODE\_HOST}}) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00410}00410                 \textcolor{keywordflow}{return} (ENXIO);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00411}00411         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00412}00412         \textcolor{keywordflow}{if} (uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_a9e2af2c9a58f0df11559c7679185b0e8}{bConfigIndex}} != \mbox{\hyperlink{uslcom_8c_a04ec9b87af743f4ddc447a87d77f9bb3}{USLCOM\_CONFIG\_INDEX}}) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00413}00413                 \textcolor{keywordflow}{return} (ENXIO);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00414}00414         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00415}00415         \textcolor{keywordflow}{return} (\mbox{\hyperlink{usb__lookup_8c_aa691ad42d532498716f358cb1c994fb2}{usbd\_lookup\_id\_by\_uaa}}(\mbox{\hyperlink{uslcom_8c_a2b36a8ed1feb81faf81b2a22f200e6e2}{uslcom\_devs}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{uslcom_8c_a2b36a8ed1feb81faf81b2a22f200e6e2}{uslcom\_devs}}), uaa));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00416}00416 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00417}00417 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00418}00418 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00419}\mbox{\hyperlink{uslcom_8c_ac9b81b9c7184f0f9a81abf38dbc1bb62}{00419}} \mbox{\hyperlink{uslcom_8c_a84a08381d2e75c82d2258108b2f7479e}{uslcom\_attach}}(device\_t dev)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00420}00420 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00421}00421         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__attach__arg}{usb\_attach\_arg}} *uaa = device\_get\_ivars(dev);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00422}00422         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = device\_get\_softc(dev);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00423}00423         \textcolor{keywordtype}{int} \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00424}00424 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00425}00425         DPRINTFN(11, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00426}00426 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00427}00427         \mbox{\hyperlink{usb__util_8c_a2f65a197990caa1a69a16691ce4dc66a}{device\_set\_usb\_desc}}(dev);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00428}00428         mtx\_init(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a835c676ac8106f63ed5d2628be8bbeed}{sc\_mtx}}, \textcolor{stringliteral}{"{}uslcom"{}}, NULL, MTX\_DEF);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00429}00429         \mbox{\hyperlink{usb__serial_8c_a3533648e606891c90d0267b21b3ba59e}{ucom\_ref}}(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a59a1b49f13413d8c531d6a92cd3dfaa4}{sc\_super\_ucom}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00430}00430         \mbox{\hyperlink{usbdi_8h_a1f241362056f1ed3d4c4b5cfb63ce8e5}{usb\_callout\_init\_mtx}}(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a3a22b2fbf65495e9c386e05ec5bba0f7}{sc\_watchdog}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a835c676ac8106f63ed5d2628be8bbeed}{sc\_mtx}}, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00431}00431 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00432}00432         sc-\/>\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{sc\_udev}} = uaa-\/>\mbox{\hyperlink{structusb__attach__arg_ac86557d3eaf77874d436ce38648b0276}{device}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00433}00433         \textcolor{comment}{/* use the interface number from the USB interface descriptor */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00434}00434         sc-\/>\mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{sc\_iface\_no}} = uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_a268433f99f7bfcc278a619418e3c44fa}{bIfaceNum}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00435}00435 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00436}00436         \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = \mbox{\hyperlink{usb__transfer_8c_a7494c04fae5c5e7ef1af436308670a21}{usbd\_transfer\_setup}}(uaa-\/>\mbox{\hyperlink{structusb__attach__arg_ac86557d3eaf77874d436ce38648b0276}{device}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00437}00437             \&uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_a50a68740a4c82f1a9b999d4a7994b550}{bIfaceIndex}}, sc-\/>\mbox{\hyperlink{structuslcom__softc_a61d8af070d99e34876f38c3be4820803}{sc\_xfer}}, \mbox{\hyperlink{uslcom_8c_a31c9e2a688e7546b399e219fb2ebb8a7}{uslcom\_config}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00438}00438             \mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67a56d5bb3b4faf9f9dadd5be4fcebd274f}{USLCOM\_N\_TRANSFER}}, sc, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a835c676ac8106f63ed5d2628be8bbeed}{sc\_mtx}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00439}00439         \textcolor{keywordflow}{if} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00440}00440                 \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}one or more missing USB endpoints, "{}}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00441}00441                     \textcolor{stringliteral}{"{}error=\%s\(\backslash\)n"{}}, \mbox{\hyperlink{usb__error_8c_a2391eb446dce3e4368cacf781857774e}{usbd\_errstr}}(\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00442}00442                 \textcolor{keywordflow}{goto} detach;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00443}00443         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00444}00444         \textcolor{comment}{/* clear stall at first run */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00445}00445         mtx\_lock(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a835c676ac8106f63ed5d2628be8bbeed}{sc\_mtx}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00446}00446         \mbox{\hyperlink{usb__transfer_8c_abadf9cb2f8e81a5133af0c8030039de3}{usbd\_xfer\_set\_stall}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a61d8af070d99e34876f38c3be4820803}{sc\_xfer}}[\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67a81e7f5f4fdc62775604a46cbe8c06132}{USLCOM\_BULK\_DT\_WR}}]);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00447}00447         \mbox{\hyperlink{usb__transfer_8c_abadf9cb2f8e81a5133af0c8030039de3}{usbd\_xfer\_set\_stall}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a61d8af070d99e34876f38c3be4820803}{sc\_xfer}}[\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67ada2a3236716057cb45499aa4c1170845}{USLCOM\_BULK\_DT\_RD}}]);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00448}00448         mtx\_unlock(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a835c676ac8106f63ed5d2628be8bbeed}{sc\_mtx}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00449}00449 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00450}00450         sc-\/>\mbox{\hyperlink{structuslcom__softc_a4af5b4da948014a88a05ebfc6e61c821}{sc\_partnum}} = \mbox{\hyperlink{uslcom_8c_a48ab2fe539b5f3082c778639bff10a97}{uslcom\_get\_partnum}}(sc);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00451}00451 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00452}00452         \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = \mbox{\hyperlink{usb__serial_8c_a1a14cc63123395507acee783de212d75}{ucom\_attach}}(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a59a1b49f13413d8c531d6a92cd3dfaa4}{sc\_super\_ucom}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}}, 1, sc,}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00453}00453             \&\mbox{\hyperlink{uslcom_8c_a42bee093a683ee04517ee02b0aa0ac6e}{uslcom\_callback}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a835c676ac8106f63ed5d2628be8bbeed}{sc\_mtx}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00454}00454         \textcolor{keywordflow}{if} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00455}00455                 \textcolor{keywordflow}{goto} detach;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00456}00456         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00457}00457         \mbox{\hyperlink{usb__serial_8c_a5fd441bb430a68061e8c933443f1d14f}{ucom\_set\_pnpinfo\_usb}}(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a59a1b49f13413d8c531d6a92cd3dfaa4}{sc\_super\_ucom}}, dev);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00458}00458 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00459}00459         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00460}00460 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00461}00461 detach:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00462}00462         \mbox{\hyperlink{uslcom_8c_a2ee65ad56c550009a72290c384d43c25}{uslcom\_detach}}(dev);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00463}00463         \textcolor{keywordflow}{return} (ENXIO);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00464}00464 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00465}00465 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00466}00466 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00467}\mbox{\hyperlink{uslcom_8c_ae22305215be47939a834ff03effb318f}{00467}} \mbox{\hyperlink{uslcom_8c_a2ee65ad56c550009a72290c384d43c25}{uslcom\_detach}}(device\_t dev)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00468}00468 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00469}00469         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = device\_get\_softc(dev);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00470}00470 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00471}00471         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}sc=\%p\(\backslash\)n"{}}, sc);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00472}00472 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00473}00473         \mbox{\hyperlink{usb__serial_8c_abcceb7ddf05b758da5f3ada77a962ad1}{ucom\_detach}}(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a59a1b49f13413d8c531d6a92cd3dfaa4}{sc\_super\_ucom}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00474}00474         \mbox{\hyperlink{usb__transfer_8c_a2f5ab55bfe7f356bb7a7505ff35c9741}{usbd\_transfer\_unsetup}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a61d8af070d99e34876f38c3be4820803}{sc\_xfer}}, \mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67a56d5bb3b4faf9f9dadd5be4fcebd274f}{USLCOM\_N\_TRANSFER}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00475}00475 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00476}00476         \mbox{\hyperlink{usbdi_8h_a828c4d79b0d9b11c8dcb77899a2bffda}{usb\_callout\_drain}}(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a3a22b2fbf65495e9c386e05ec5bba0f7}{sc\_watchdog}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00477}00477 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00478}00478         device\_claim\_softc(dev);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00479}00479 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00480}00480         \mbox{\hyperlink{uslcom_8c_a1b5fd6501e5bd3671ceeac87f9757c3b}{uslcom\_free\_softc}}(sc);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00481}00481 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00482}00482         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00483}00483 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00484}00484 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00485}\mbox{\hyperlink{uslcom_8c_a65fae13d32b552459e5aa5f00bd1ecc9}{00485}} \mbox{\hyperlink{uslcom_8c_a65fae13d32b552459e5aa5f00bd1ecc9}{UCOM\_UNLOAD\_DRAIN}}(uslcom);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00486}00486 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00487}00487 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00488}\mbox{\hyperlink{uslcom_8c_a1b5fd6501e5bd3671ceeac87f9757c3b}{00488}} \mbox{\hyperlink{uslcom_8c_a1b5fd6501e5bd3671ceeac87f9757c3b}{uslcom\_free\_softc}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00489}00489 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00490}00490         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8c_a27ca652272693169923a38646505d083}{ucom\_unref}}(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a59a1b49f13413d8c531d6a92cd3dfaa4}{sc\_super\_ucom}})) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00491}00491                 mtx\_destroy(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a835c676ac8106f63ed5d2628be8bbeed}{sc\_mtx}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00492}00492                 device\_free\_softc(sc);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00493}00493         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00494}00494 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00495}00495 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00496}00496 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00497}\mbox{\hyperlink{uslcom_8c_a272d461a72cc73e8874f5da7ccdcaca1}{00497}} \mbox{\hyperlink{uslcom_8c_a272d461a72cc73e8874f5da7ccdcaca1}{uslcom\_free}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00498}00498 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00499}00499         \mbox{\hyperlink{uslcom_8c_a1b5fd6501e5bd3671ceeac87f9757c3b}{uslcom\_free\_softc}}(ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00500}00500 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00501}00501 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00502}00502 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00503}\mbox{\hyperlink{uslcom_8c_a4aae912518b6796c16d3d40bd491e8f9}{00503}} \mbox{\hyperlink{uslcom_8c_a4aae912518b6796c16d3d40bd491e8f9}{uslcom\_cfg\_open}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00504}00504 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00505}00505         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00506}00506         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00507}00507 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00508}00508         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{uslcom_8c_a98e7dcfd44266631ba9f4270882dd7d5}{USLCOM\_WRITE}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00509}00509         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uslcom_8c_a0221fa3041f334d0f89ff7bacb2b2a99}{USLCOM\_IFC\_ENABLE}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00510}00510         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, \mbox{\hyperlink{uslcom_8c_a297c2e9f9dd543bfb6fbc0f717513d6d}{USLCOM\_IFC\_ENABLE\_EN}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00511}00511         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{sc\_iface\_no}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00512}00512         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00513}00513 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00514}00514         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00515}00515             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL, 0, 1000)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00516}00516                 \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}UART enable failed (ignored)\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00517}00517         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00518}00518 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00519}00519         \textcolor{comment}{/* start polling status */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00520}00520         \mbox{\hyperlink{uslcom_8c_a6007e18edd4edc086b13a87562f9e0ba}{uslcom\_watchdog}}(sc);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00521}00521 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00522}00522 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00523}00523 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00524}\mbox{\hyperlink{uslcom_8c_ae75e0ad99177a02c0d4da1bdae968fbd}{00524}} \mbox{\hyperlink{uslcom_8c_ae75e0ad99177a02c0d4da1bdae968fbd}{uslcom\_cfg\_close}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00525}00525 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00526}00526         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00527}00527         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00528}00528 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00529}00529         \textcolor{comment}{/* stop polling status */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00530}00530         \mbox{\hyperlink{usbdi_8h_ad74dd2f25febf2ba5083574711e4101a}{usb\_callout\_stop}}(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a3a22b2fbf65495e9c386e05ec5bba0f7}{sc\_watchdog}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00531}00531 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00532}00532         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{uslcom_8c_a98e7dcfd44266631ba9f4270882dd7d5}{USLCOM\_WRITE}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00533}00533         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uslcom_8c_a0221fa3041f334d0f89ff7bacb2b2a99}{USLCOM\_IFC\_ENABLE}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00534}00534         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, \mbox{\hyperlink{uslcom_8c_ac95550ce265c53f520460bb4c4bc35fc}{USLCOM\_IFC\_ENABLE\_DIS}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00535}00535         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{sc\_iface\_no}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00536}00536         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00537}00537 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00538}00538         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00539}00539             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL, 0, 1000)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00540}00540                 \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}UART disable failed (ignored)\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00541}00541         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00542}00542 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00543}00543 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00544}00544 \textcolor{keyword}{static} uint8\_t}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00545}\mbox{\hyperlink{uslcom_8c_a48ab2fe539b5f3082c778639bff10a97}{00545}} \mbox{\hyperlink{uslcom_8c_a48ab2fe539b5f3082c778639bff10a97}{uslcom\_get\_partnum}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00546}00546 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00547}00547         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00548}00548         uint8\_t partnum;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00549}00549 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00550}00550         \textcolor{comment}{/* Find specific chip type */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00551}00551         partnum = 0;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00552}00552         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{uslcom_8c_a6bb589802262aa265e91ef606b730979}{USLCOM\_READ}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00553}00553         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uslcom_8c_aac8f8e442ce2bc936fbcd0518732b46a}{USLCOM\_VENDOR\_SPECIFIC}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00554}00554         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, \mbox{\hyperlink{uslcom_8c_a4261ba73327263dd5ce5ad6718209575}{USLCOM\_GET\_PARTNUM}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00555}00555         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{sc\_iface\_no}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00556}00556         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, \textcolor{keyword}{sizeof}(partnum));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00557}00557 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00558}00558         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__request_8c_ae914a46bd63666caf7f4d8c182fa5e71}{usbd\_do\_request\_flags}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{sc\_udev}}, NULL,}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00559}00559             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, \&partnum, 0, NULL, 1000)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00560}00560                 \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}GET\_PARTNUM failed\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00561}00561         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00562}00562 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00563}00563         \textcolor{keywordflow}{return}(partnum);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00564}00564 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00565}00565 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00566}00566 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00567}\mbox{\hyperlink{uslcom_8c_a2c14c3d7cfeb2407103ee36351234cd5}{00567}} \mbox{\hyperlink{uslcom_8c_a2c14c3d7cfeb2407103ee36351234cd5}{uslcom\_cfg\_set\_dtr}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, uint8\_t onoff)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00568}00568 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00569}00569         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00570}00570         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00571}00571         uint16\_t ctl;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00572}00572 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00573}00573         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}onoff = \%d\(\backslash\)n"{}}, onoff);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00574}00574 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00575}00575         ctl = onoff ? \mbox{\hyperlink{uslcom_8c_a5d1e417ba88fe52fe86476de12b80b4b}{USLCOM\_MHS\_DTR\_ON}} : 0;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00576}00576         ctl |= \mbox{\hyperlink{uslcom_8c_ae91c925c92d6ab36d66eebc21e79607b}{USLCOM\_MHS\_DTR\_SET}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00577}00577 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00578}00578         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{uslcom_8c_a98e7dcfd44266631ba9f4270882dd7d5}{USLCOM\_WRITE}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00579}00579         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uslcom_8c_aacf8678479e40cd7aaaf980ebbb24fdc}{USLCOM\_SET\_MHS}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00580}00580         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, ctl);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00581}00581         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{sc\_iface\_no}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00582}00582         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00583}00583 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00584}00584         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00585}00585             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL, 0, 1000)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00586}00586                 \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}Setting DTR failed (ignored)\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00587}00587         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00588}00588 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00589}00589 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00590}00590 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00591}\mbox{\hyperlink{uslcom_8c_a07bac9eb8af53b59cef3c5bf332f0aa0}{00591}} \mbox{\hyperlink{uslcom_8c_a07bac9eb8af53b59cef3c5bf332f0aa0}{uslcom\_cfg\_set\_rts}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, uint8\_t onoff)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00592}00592 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00593}00593         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00594}00594         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00595}00595         uint16\_t ctl;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00596}00596 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00597}00597         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}onoff = \%d\(\backslash\)n"{}}, onoff);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00598}00598 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00599}00599         ctl = onoff ? \mbox{\hyperlink{uslcom_8c_a2d9f2480db2604e6b2850a52ad2fc79c}{USLCOM\_MHS\_RTS\_ON}} : 0;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00600}00600         ctl |= \mbox{\hyperlink{uslcom_8c_a315903f11cd2706d8e7e28a113fc067f}{USLCOM\_MHS\_RTS\_SET}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00601}00601 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00602}00602         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{uslcom_8c_a98e7dcfd44266631ba9f4270882dd7d5}{USLCOM\_WRITE}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00603}00603         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uslcom_8c_aacf8678479e40cd7aaaf980ebbb24fdc}{USLCOM\_SET\_MHS}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00604}00604         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, ctl);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00605}00605         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{sc\_iface\_no}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00606}00606         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00607}00607 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00608}00608         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00609}00609             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL, 0, 1000)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00610}00610                 \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}Setting DTR failed (ignored)\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00611}00611         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00612}00612 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00613}00613 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00614}00614 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00615}\mbox{\hyperlink{uslcom_8c_a3154a820d57ea28136632d6e2f4790a6}{00615}} \mbox{\hyperlink{uslcom_8c_a3154a820d57ea28136632d6e2f4790a6}{uslcom\_pre\_param}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, \textcolor{keyword}{struct} termios *t)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00616}00616 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00617}00617         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00618}00618         uint32\_t maxspeed;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00619}00619 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00620}00620         \textcolor{keywordflow}{switch} (sc-\/>\mbox{\hyperlink{structuslcom__softc_a4af5b4da948014a88a05ebfc6e61c821}{sc\_partnum}}) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00621}00621         \textcolor{keywordflow}{case} \mbox{\hyperlink{uslcom_8c_a59749b1950fdac2d8c70ef0089a94b1a}{USLCOM\_PARTNUM\_CP2104}}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00622}00622         \textcolor{keywordflow}{case} \mbox{\hyperlink{uslcom_8c_a32067059de3a1e402dc2a6388fc8c4da}{USLCOM\_PARTNUM\_CP2105}}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00623}00623                 maxspeed = 2000000;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00624}00624                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00625}00625         \textcolor{keywordflow}{case} \mbox{\hyperlink{uslcom_8c_a2c65ad4f2da73068ec32b8986b9ac430}{USLCOM\_PARTNUM\_CP2101}}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00626}00626         \textcolor{keywordflow}{case} \mbox{\hyperlink{uslcom_8c_a7df47e7ded1f72cf16b11f57e181c4e4}{USLCOM\_PARTNUM\_CP2102}}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00627}00627         \textcolor{keywordflow}{case} \mbox{\hyperlink{uslcom_8c_a562b6cf647fecd8969717c6026e474cd}{USLCOM\_PARTNUM\_CP2103}}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00628}00628         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00629}00629                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00630}00630 \textcolor{comment}{                 * Datasheet for cp2102 says 921600 max.  Testing shows that}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00631}00631 \textcolor{comment}{                 * 1228800 and 1843200 work fine.}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00632}00632 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00633}00633                 maxspeed = 1843200;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00634}00634                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00635}00635         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00636}00636         \textcolor{keywordflow}{if} (t-\/>c\_ospeed <= 0 || t-\/>c\_ospeed > maxspeed)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00637}00637                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00638}00638         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00639}00639 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00640}00640 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00641}00641 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00642}\mbox{\hyperlink{uslcom_8c_a2bab5a997b7fe3f27b0fd9d756dfc63f}{00642}} \mbox{\hyperlink{uslcom_8c_a2bab5a997b7fe3f27b0fd9d756dfc63f}{uslcom\_cfg\_param}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, \textcolor{keyword}{struct} termios *t)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00643}00643 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00644}00644         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00645}00645         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00646}00646         uint32\_t baudrate, flowctrl[4];}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00647}00647         uint16\_t data;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00648}00648 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00649}00649         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00650}00650 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00651}00651         baudrate = t-\/>c\_ospeed;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00652}00652         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{uslcom_8c_a98e7dcfd44266631ba9f4270882dd7d5}{USLCOM\_WRITE}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00653}00653         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uslcom_8c_acd7073b68b54598834992fea9fe264e4}{USLCOM\_SET\_BAUDRATE}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00654}00654         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00655}00655         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{sc\_iface\_no}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00656}00656         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, \textcolor{keyword}{sizeof}(baudrate));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00657}00657 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00658}00658         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00659}00659             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, \&baudrate, 0, 1000)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00660}00660                 printf(\textcolor{stringliteral}{"{}Set baudrate failed (ignored)\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00661}00661         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00662}00662 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00663}00663         \textcolor{keywordflow}{if} (t-\/>c\_cflag \& CSTOPB)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00664}00664                 data = \mbox{\hyperlink{uslcom_8c_a27fed74650f5b989838af0fc7f406b29}{USLCOM\_STOP\_BITS\_2}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00665}00665         \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00666}00666                 data = \mbox{\hyperlink{uslcom_8c_afa0e2643b07f51122ca429e570f4512a}{USLCOM\_STOP\_BITS\_1}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00667}00667         \textcolor{keywordflow}{if} (t-\/>c\_cflag \& PARENB) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00668}00668                 \textcolor{keywordflow}{if} (t-\/>c\_cflag \& PARODD)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00669}00669                         data |= \mbox{\hyperlink{uslcom_8c_a438555831695d04ab44cf70a88915e28}{USLCOM\_PARITY\_ODD}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00670}00670                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00671}00671                         data |= \mbox{\hyperlink{uslcom_8c_a4904ccbba8fa9dea45dde639d8a40ff5}{USLCOM\_PARITY\_EVEN}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00672}00672         \} \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00673}00673                 data |= \mbox{\hyperlink{uslcom_8c_a87a060e5bb134dd7415f0f51ab4362a4}{USLCOM\_PARITY\_NONE}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00674}00674         \textcolor{keywordflow}{switch} (t-\/>c\_cflag \& CSIZE) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00675}00675         \textcolor{keywordflow}{case} CS5:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00676}00676                 data |= \mbox{\hyperlink{uslcom_8c_abc81a5ceead986340969d4932e6f5224}{USLCOM\_SET\_DATA\_BITS}}(5);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00677}00677                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00678}00678         \textcolor{keywordflow}{case} CS6:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00679}00679                 data |= \mbox{\hyperlink{uslcom_8c_abc81a5ceead986340969d4932e6f5224}{USLCOM\_SET\_DATA\_BITS}}(6);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00680}00680                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00681}00681         \textcolor{keywordflow}{case} CS7:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00682}00682                 data |= \mbox{\hyperlink{uslcom_8c_abc81a5ceead986340969d4932e6f5224}{USLCOM\_SET\_DATA\_BITS}}(7);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00683}00683                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00684}00684         \textcolor{keywordflow}{case} CS8:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00685}00685                 data |= \mbox{\hyperlink{uslcom_8c_abc81a5ceead986340969d4932e6f5224}{USLCOM\_SET\_DATA\_BITS}}(8);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00686}00686                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00687}00687         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00688}00688 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00689}00689         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{uslcom_8c_a98e7dcfd44266631ba9f4270882dd7d5}{USLCOM\_WRITE}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00690}00690         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uslcom_8c_ab78700a0a4c6db454c2a8c50d4b861af}{USLCOM\_SET\_LINE\_CTL}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00691}00691         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, data);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00692}00692         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{sc\_iface\_no}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00693}00693         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00694}00694 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00695}00695         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00696}00696             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL, 0, 1000)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00697}00697                 \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}Set format failed (ignored)\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00698}00698         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00699}00699 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00700}00700         \textcolor{keywordflow}{if} (t-\/>c\_cflag \& CRTSCTS) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00701}00701                 flowctrl[0] = htole32(\mbox{\hyperlink{uslcom_8c_aad2a7645b7c40648de17ce558f25eca7}{USLCOM\_FLOW\_DTR\_ON}} | \mbox{\hyperlink{uslcom_8c_aa727154967db9e31327c1da802681866}{USLCOM\_FLOW\_CTS\_HS}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00702}00702                 flowctrl[1] = htole32(\mbox{\hyperlink{uslcom_8c_a70278b7645ea9f32dfada407f3a43eb6}{USLCOM\_FLOW\_RTS\_HS}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00703}00703         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00704}00704                 flowctrl[0] = htole32(\mbox{\hyperlink{uslcom_8c_aad2a7645b7c40648de17ce558f25eca7}{USLCOM\_FLOW\_DTR\_ON}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00705}00705                 flowctrl[1] = htole32(\mbox{\hyperlink{uslcom_8c_a947602880b4df3ef8b326e32fe89d4a6}{USLCOM\_FLOW\_RTS\_ON}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00706}00706         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00707}00707         flowctrl[2] = 0;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00708}00708         flowctrl[3] = 0;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00709}00709         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{uslcom_8c_a98e7dcfd44266631ba9f4270882dd7d5}{USLCOM\_WRITE}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00710}00710         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uslcom_8c_aa4b0bc53731e9f6503467fcb56ed71a1}{USLCOM\_SET\_FLOW}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00711}00711         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00712}00712         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{sc\_iface\_no}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00713}00713         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, \textcolor{keyword}{sizeof}(flowctrl));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00714}00714 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00715}00715         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00716}00716             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, flowctrl, 0, 1000)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00717}00717                 \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}Set flowcontrol failed (ignored)\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00718}00718         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00719}00719 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00720}00720 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00721}00721 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00722}\mbox{\hyperlink{uslcom_8c_af993a31b41b3e60e2478cc6f10d00d0d}{00722}} \mbox{\hyperlink{uslcom_8c_af993a31b41b3e60e2478cc6f10d00d0d}{uslcom\_cfg\_get\_status}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, uint8\_t *lsr, uint8\_t *msr)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00723}00723 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00724}00724         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00725}00725 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00726}00726         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00727}00727 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00728}00728         \textcolor{comment}{/* XXX Note: sc\_lsr is always zero */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00729}00729         *lsr = sc-\/>\mbox{\hyperlink{structuslcom__softc_a369ba5271ea716d0a3cf8017aac92dd9}{sc\_lsr}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00730}00730         *msr = sc-\/>\mbox{\hyperlink{structuslcom__softc_a29999ad60b9c46b1af2d7b4b4b05af9d}{sc\_msr}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00731}00731 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00732}00732 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00733}00733 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00734}\mbox{\hyperlink{uslcom_8c_a5d0342ce5c6f96c75eb5ef68c92e5256}{00734}} \mbox{\hyperlink{uslcom_8c_a5d0342ce5c6f96c75eb5ef68c92e5256}{uslcom\_cfg\_set\_break}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, uint8\_t onoff)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00735}00735 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00736}00736         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00737}00737         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00738}00738         uint16\_t brk = onoff ? \mbox{\hyperlink{uslcom_8c_a314ba60946d1b273edefbe2ab11b3b2b}{USLCOM\_SET\_BREAK\_ON}} : \mbox{\hyperlink{uslcom_8c_a24bddd5eb1f38a2db6b62987f7b9a7ce}{USLCOM\_SET\_BREAK\_OFF}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00739}00739 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00740}00740         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{uslcom_8c_a98e7dcfd44266631ba9f4270882dd7d5}{USLCOM\_WRITE}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00741}00741         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uslcom_8c_ac2ce2ed90e60ac1167c2750e0be52b6d}{USLCOM\_SET\_BREAK}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00742}00742         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, brk);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00743}00743         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{sc\_iface\_no}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00744}00744         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00745}00745 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00746}00746         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00747}00747             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL, 0, 1000)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00748}00748                 \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}Set BREAK failed (ignored)\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00749}00749         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00750}00750 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00751}00751 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00752}00752 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00753}\mbox{\hyperlink{uslcom_8c_a2f572a4d6c74ae59329ece0b978a49a7}{00753}} \mbox{\hyperlink{uslcom_8c_a2f572a4d6c74ae59329ece0b978a49a7}{uslcom\_ioctl}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, uint32\_t cmd, caddr\_t data,}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00754}00754     \textcolor{keywordtype}{int} flag, \textcolor{keyword}{struct} thread *td)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00755}00755 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00756}00756         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00757}00757         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00758}00758         \textcolor{keywordtype}{int} \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = 0;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00759}00759         uint8\_t latch;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00760}00760 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00761}00761         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}cmd=0x\%08x\(\backslash\)n"{}}, cmd);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00762}00762 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00763}00763         \textcolor{keywordflow}{switch} (cmd) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00764}00764         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb__ioctl_8h_a3a6b769d08c7a8363b5542447ff68089}{USB\_GET\_GPIO}}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00765}00765                 \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structuslcom__softc_a4af5b4da948014a88a05ebfc6e61c821}{sc\_partnum}} < \mbox{\hyperlink{uslcom_8c_a562b6cf647fecd8969717c6026e474cd}{USLCOM\_PARTNUM\_CP2103}}) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00766}00766                         \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = ENODEV;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00767}00767                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00768}00768                 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00769}00769                 \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{uslcom_8c_a6bb589802262aa265e91ef606b730979}{USLCOM\_READ}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00770}00770                 \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uslcom_8c_aac8f8e442ce2bc936fbcd0518732b46a}{USLCOM\_VENDOR\_SPECIFIC}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00771}00771                 \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, \mbox{\hyperlink{uslcom_8c_ad391665bbe678d6ba8304cdc6ee033f6}{USLCOM\_READ\_LATCH}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00772}00772                 \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{sc\_iface\_no}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00773}00773                 \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, \textcolor{keyword}{sizeof}(latch));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00774}00774 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00775}00775                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00776}00776                     \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, \&latch, 0, 1000)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00777}00777                         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}Get LATCH failed\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00778}00778                         \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = EIO;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00779}00779                 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00780}00780                 *(\textcolor{keywordtype}{int} *)data = latch;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00781}00781                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00782}00782 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00783}00783         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb__ioctl_8h_ae507704196c98a5ad972017c5d9042e4}{USB\_SET\_GPIO}}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00784}00784                 \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structuslcom__softc_a4af5b4da948014a88a05ebfc6e61c821}{sc\_partnum}} < \mbox{\hyperlink{uslcom_8c_a562b6cf647fecd8969717c6026e474cd}{USLCOM\_PARTNUM\_CP2103}})}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00785}00785                         \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = ENODEV;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00786}00786                 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} ((sc-\/>\mbox{\hyperlink{structuslcom__softc_a4af5b4da948014a88a05ebfc6e61c821}{sc\_partnum}} == \mbox{\hyperlink{uslcom_8c_a562b6cf647fecd8969717c6026e474cd}{USLCOM\_PARTNUM\_CP2103}}) ||}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00787}00787                     (sc-\/>\mbox{\hyperlink{structuslcom__softc_a4af5b4da948014a88a05ebfc6e61c821}{sc\_partnum}} == \mbox{\hyperlink{uslcom_8c_a59749b1950fdac2d8c70ef0089a94b1a}{USLCOM\_PARTNUM\_CP2104}})) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00788}00788                         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{uslcom_8c_a98e7dcfd44266631ba9f4270882dd7d5}{USLCOM\_WRITE}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00789}00789                         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uslcom_8c_aac8f8e442ce2bc936fbcd0518732b46a}{USLCOM\_VENDOR\_SPECIFIC}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00790}00790                         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, \mbox{\hyperlink{uslcom_8c_a8ebaace8986e0f566f3e208445b81187}{USLCOM\_WRITE\_LATCH}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00791}00791                         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, (*(\textcolor{keywordtype}{int} *)data));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00792}00792                         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00793}00793 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00794}00794                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a6624b834197a32b483d6c32df78a8a24}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}},}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00795}00795                             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL, 0, 1000)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00796}00796                                 \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}Set LATCH failed\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00797}00797                                 \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = EIO;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00798}00798                         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00799}00799                 \} \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00800}00800                         \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = ENODEV;    \textcolor{comment}{/* Not yet */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00801}00801                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00802}00802 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00803}00803         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00804}00804                 \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}Unknown IOCTL\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00805}00805                 \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = ENOIOCTL;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00806}00806                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00807}00807         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00808}00808         \textcolor{keywordflow}{return} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00809}00809 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00810}00810 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00811}00811 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00812}\mbox{\hyperlink{uslcom_8c_ae505baabf501eb506ca6c7a582eb06bb}{00812}} \mbox{\hyperlink{uslcom_8c_a58e79e00daeaf9864671092879a93203}{uslcom\_write\_callback}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer, \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}} \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}})}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00813}00813 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00814}00814         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = \mbox{\hyperlink{usb__transfer_8c_ab75ef6d82c4a000a3d16c133d1d589b0}{usbd\_xfer\_softc}}(xfer);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00815}00815         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__page__cache}{usb\_page\_cache}} *pc;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00816}00816         uint32\_t actlen;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00817}00817 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00818}00818         \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usbdi_8h_adc2dd35bd0dd6a42d3abd4230796a7b0}{USB\_GET\_STATE}}(xfer)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00819}00819         \textcolor{keywordflow}{case} \mbox{\hyperlink{usbdi_8h_a3aa7120c3ecab31972b8fe219530f552}{USB\_ST\_SETUP}}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00820}00820         \textcolor{keywordflow}{case} \mbox{\hyperlink{usbdi_8h_a8f0386217ba77be3e47721fae9aa9b3d}{USB\_ST\_TRANSFERRED}}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00821}00821 tr\_setup:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00822}00822                 pc = \mbox{\hyperlink{usb__transfer_8c_a6e66695b916f0770a259bed959c21555}{usbd\_xfer\_get\_frame}}(xfer, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00823}00823                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8c_a014a131e1bce5fb84d1788e48a69733f}{ucom\_get\_data}}(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}}, pc, 0,}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00824}00824                     \mbox{\hyperlink{uslcom_8c_a8d0834ed8892e5d7eac25426cbdf1b4b}{USLCOM\_BULK\_BUF\_SIZE}}, \&actlen)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00825}00825                         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}actlen = \%d\(\backslash\)n"{}}, actlen);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00826}00826 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00827}00827                         \mbox{\hyperlink{usb__transfer_8c_a31786497f0f4222203b1e993d52af753}{usbd\_xfer\_set\_frame\_len}}(xfer, 0, actlen);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00828}00828                         \mbox{\hyperlink{usb__transfer_8c_a10c440b0b97cac293b4df9d558f15bac}{usbd\_transfer\_submit}}(xfer);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00829}00829                 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00830}00830                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00831}00831 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00832}00832         \textcolor{keywordflow}{default}:                        \textcolor{comment}{/* Error */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00833}00833                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} != \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945abe72c3e4b6644141519a28f1ef97f717}{USB\_ERR\_CANCELLED}}) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00834}00834                         \textcolor{comment}{/* try to clear stall first */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00835}00835                         \mbox{\hyperlink{usb__transfer_8c_abadf9cb2f8e81a5133af0c8030039de3}{usbd\_xfer\_set\_stall}}(xfer);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00836}00836                         \textcolor{keywordflow}{goto} tr\_setup;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00837}00837                 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00838}00838                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00839}00839         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00840}00840 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00841}00841 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00842}00842 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00843}\mbox{\hyperlink{uslcom_8c_a4af6a72db83d02f793fb46af32eb1a8a}{00843}} \mbox{\hyperlink{uslcom_8c_aa2a6e1aee939c00480fbb461b7444a2e}{uslcom\_read\_callback}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer, \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}} \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}})}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00844}00844 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00845}00845         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = \mbox{\hyperlink{usb__transfer_8c_ab75ef6d82c4a000a3d16c133d1d589b0}{usbd\_xfer\_softc}}(xfer);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00846}00846         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__page__cache}{usb\_page\_cache}} *pc;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00847}00847         \textcolor{keywordtype}{int} actlen;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00848}00848 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00849}00849         \mbox{\hyperlink{usb__transfer_8c_ac0c68320222f26c2a3eba47b46c47899}{usbd\_xfer\_status}}(xfer, \&actlen, NULL, NULL, NULL);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00850}00850 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00851}00851         \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usbdi_8h_adc2dd35bd0dd6a42d3abd4230796a7b0}{USB\_GET\_STATE}}(xfer)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00852}00852         \textcolor{keywordflow}{case} \mbox{\hyperlink{usbdi_8h_a8f0386217ba77be3e47721fae9aa9b3d}{USB\_ST\_TRANSFERRED}}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00853}00853                 pc = \mbox{\hyperlink{usb__transfer_8c_a6e66695b916f0770a259bed959c21555}{usbd\_xfer\_get\_frame}}(xfer, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00854}00854                 \mbox{\hyperlink{usb__serial_8c_af96494685ba012ad6a1c2e18b783e185}{ucom\_put\_data}}(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}}, pc, 0, actlen);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00855}00855 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00856}00856         \textcolor{keywordflow}{case} \mbox{\hyperlink{usbdi_8h_a3aa7120c3ecab31972b8fe219530f552}{USB\_ST\_SETUP}}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00857}00857 tr\_setup:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00858}00858                 \mbox{\hyperlink{usb__transfer_8c_a31786497f0f4222203b1e993d52af753}{usbd\_xfer\_set\_frame\_len}}(xfer, 0, \mbox{\hyperlink{usb__transfer_8c_ae34a7cc2f01c6dfb68bca6fd0b72647e}{usbd\_xfer\_max\_len}}(xfer));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00859}00859                 \mbox{\hyperlink{usb__transfer_8c_a10c440b0b97cac293b4df9d558f15bac}{usbd\_transfer\_submit}}(xfer);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00860}00860                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00861}00861 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00862}00862         \textcolor{keywordflow}{default}:                        \textcolor{comment}{/* Error */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00863}00863                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} != \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945abe72c3e4b6644141519a28f1ef97f717}{USB\_ERR\_CANCELLED}}) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00864}00864                         \textcolor{comment}{/* try to clear stall first */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00865}00865                         \mbox{\hyperlink{usb__transfer_8c_abadf9cb2f8e81a5133af0c8030039de3}{usbd\_xfer\_set\_stall}}(xfer);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00866}00866                         \textcolor{keywordflow}{goto} tr\_setup;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00867}00867                 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00868}00868                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00869}00869         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00870}00870 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00871}00871 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00872}00872 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00873}\mbox{\hyperlink{uslcom_8c_afa2af038ff2ff8066e17c88f78bddf9b}{00873}} \mbox{\hyperlink{uslcom_8c_ac10b3d15f906f8d83b076d69e55ab006}{uslcom\_control\_callback}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer, \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}} \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}})}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00874}00874 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00875}00875         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = \mbox{\hyperlink{usb__transfer_8c_ab75ef6d82c4a000a3d16c133d1d589b0}{usbd\_xfer\_softc}}(xfer);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00876}00876         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__page__cache}{usb\_page\_cache}} *pc;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00877}00877         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00878}00878         uint8\_t msr = 0;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00879}00879         uint8\_t buf;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00880}00880 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00881}00881         \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usbdi_8h_adc2dd35bd0dd6a42d3abd4230796a7b0}{USB\_GET\_STATE}}(xfer)) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00882}00882         \textcolor{keywordflow}{case} \mbox{\hyperlink{usbdi_8h_a8f0386217ba77be3e47721fae9aa9b3d}{USB\_ST\_TRANSFERRED}}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00883}00883                 pc = \mbox{\hyperlink{usb__transfer_8c_a6e66695b916f0770a259bed959c21555}{usbd\_xfer\_get\_frame}}(xfer, 1);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00884}00884                 \mbox{\hyperlink{usb__busdma_8c_af52eece45b7868dbf58386f4c9e4eb9a}{usbd\_copy\_out}}(pc, 0, \&buf, \textcolor{keyword}{sizeof}(buf));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00885}00885                 \textcolor{keywordflow}{if} (buf \& \mbox{\hyperlink{uslcom_8c_ae58afd9dd1b587156ee34a7db3823b7d}{USLCOM\_MHS\_CTS}})}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00886}00886                         msr |= SER\_CTS;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00887}00887                 \textcolor{keywordflow}{if} (buf \& \mbox{\hyperlink{uslcom_8c_ac0225f4f4e84d1c8786abda262d90437}{USLCOM\_MHS\_DSR}})}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00888}00888                         msr |= SER\_DSR;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00889}00889                 \textcolor{keywordflow}{if} (buf \& \mbox{\hyperlink{uslcom_8c_a578b91c7e47f073fd7b9f93c0e8456b3}{USLCOM\_MHS\_RI}})}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00890}00890                         msr |= SER\_RI;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00891}00891                 \textcolor{keywordflow}{if} (buf \& \mbox{\hyperlink{uslcom_8c_aff871798ab2c82abe877dca99230b418}{USLCOM\_MHS\_DCD}})}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00892}00892                         msr |= SER\_DCD;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00893}00893 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00894}00894                 \textcolor{keywordflow}{if} (msr != sc-\/>\mbox{\hyperlink{structuslcom__softc_a29999ad60b9c46b1af2d7b4b4b05af9d}{sc\_msr}}) \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00895}00895                         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}status change msr=0x\%02x "{}}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00896}00896                             \textcolor{stringliteral}{"{}(was 0x\%02x)\(\backslash\)n"{}}, msr, sc-\/>\mbox{\hyperlink{structuslcom__softc_a29999ad60b9c46b1af2d7b4b4b05af9d}{sc\_msr}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00897}00897                         sc-\/>\mbox{\hyperlink{structuslcom__softc_a29999ad60b9c46b1af2d7b4b4b05af9d}{sc\_msr}} = msr;}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00898}00898                         \mbox{\hyperlink{usb__serial_8c_a0cb07518ed43ec742a628e47a9d97281}{ucom\_status\_change}}(\&sc-\/>\mbox{\hyperlink{structuslcom__softc_a12f109060cbbc3db700aa7987d67da83}{sc\_ucom}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00899}00899                 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00900}00900                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00901}00901 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00902}00902         \textcolor{keywordflow}{case} \mbox{\hyperlink{usbdi_8h_a3aa7120c3ecab31972b8fe219530f552}{USB\_ST\_SETUP}}:}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00903}00903                 \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{uslcom_8c_a6bb589802262aa265e91ef606b730979}{USLCOM\_READ}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00904}00904                 \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uslcom_8c_a95dab44b4d42efbc96df1a9418ed8f2f}{USLCOM\_GET\_MDMSTS}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00905}00905                 \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00906}00906                 \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuslcom__softc_adecf11e913449a908223bf9b13a4d695}{sc\_iface\_no}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00907}00907                 \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, \textcolor{keyword}{sizeof}(buf));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00908}00908 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00909}00909                 \mbox{\hyperlink{usb__transfer_8c_a10f82b008c3a5311e5210e44beaca014}{usbd\_xfer\_set\_frames}}(xfer, 2);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00910}00910                 \mbox{\hyperlink{usb__transfer_8c_a31786497f0f4222203b1e993d52af753}{usbd\_xfer\_set\_frame\_len}}(xfer, 0, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00911}00911                 \mbox{\hyperlink{usb__transfer_8c_a31786497f0f4222203b1e993d52af753}{usbd\_xfer\_set\_frame\_len}}(xfer, 1, \textcolor{keyword}{sizeof}(buf));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00912}00912 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00913}00913                 pc = \mbox{\hyperlink{usb__transfer_8c_a6e66695b916f0770a259bed959c21555}{usbd\_xfer\_get\_frame}}(xfer, 0);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00914}00914                 \mbox{\hyperlink{usb__busdma_8c_accb7cd85c3477e50c1ba1b1489226d09}{usbd\_copy\_in}}(pc, 0, \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00915}00915                 \mbox{\hyperlink{usb__transfer_8c_a10c440b0b97cac293b4df9d558f15bac}{usbd\_transfer\_submit}}(xfer);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00916}00916                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00917}00917 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00918}00918         \textcolor{keywordflow}{default}:                \textcolor{comment}{/* error */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00919}00919                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} != \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945abe72c3e4b6644141519a28f1ef97f717}{USB\_ERR\_CANCELLED}})}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00920}00920                         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}error=\%s\(\backslash\)n"{}}, \mbox{\hyperlink{usb__error_8c_a2391eb446dce3e4368cacf781857774e}{usbd\_errstr}}(\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}));}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00921}00921                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00922}00922         \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00923}00923 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00924}00924 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00925}00925 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00926}\mbox{\hyperlink{uslcom_8c_ad40c05f8429204a4235162c64a1b68e1}{00926}} \mbox{\hyperlink{uslcom_8c_ad40c05f8429204a4235162c64a1b68e1}{uslcom\_start\_read}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00927}00927 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00928}00928         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00929}00929 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00930}00930         \textcolor{comment}{/* start read endpoint */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00931}00931         \mbox{\hyperlink{usb__transfer_8c_a7a1f2d22a70b832e8cc31366adec443d}{usbd\_transfer\_start}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a61d8af070d99e34876f38c3be4820803}{sc\_xfer}}[\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67ada2a3236716057cb45499aa4c1170845}{USLCOM\_BULK\_DT\_RD}}]);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00932}00932 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00933}00933 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00934}00934 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00935}\mbox{\hyperlink{uslcom_8c_a519a1d9a8f13d6ac221e777364cd5613}{00935}} \mbox{\hyperlink{uslcom_8c_a519a1d9a8f13d6ac221e777364cd5613}{uslcom\_stop\_read}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00936}00936 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00937}00937         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00938}00938 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00939}00939         \textcolor{comment}{/* stop read endpoint */}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00940}00940         \mbox{\hyperlink{usb__transfer_8c_abe245d973df0cfd6fb96b884d33ebce3}{usbd\_transfer\_stop}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a61d8af070d99e34876f38c3be4820803}{sc\_xfer}}[\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67ada2a3236716057cb45499aa4c1170845}{USLCOM\_BULK\_DT\_RD}}]);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00941}00941 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00942}00942 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00943}00943 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00944}\mbox{\hyperlink{uslcom_8c_af6fee5c2376268f443f96fa7dde77099}{00944}} \mbox{\hyperlink{uslcom_8c_af6fee5c2376268f443f96fa7dde77099}{uslcom\_start\_write}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00945}00945 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00946}00946         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00947}00947 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00948}00948         \mbox{\hyperlink{usb__transfer_8c_a7a1f2d22a70b832e8cc31366adec443d}{usbd\_transfer\_start}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a61d8af070d99e34876f38c3be4820803}{sc\_xfer}}[\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67a81e7f5f4fdc62775604a46cbe8c06132}{USLCOM\_BULK\_DT\_WR}}]);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00949}00949 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00950}00950 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00951}00951 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00952}\mbox{\hyperlink{uslcom_8c_a736aeb25fb0d33ebee895eab44c8d852}{00952}} \mbox{\hyperlink{uslcom_8c_a736aeb25fb0d33ebee895eab44c8d852}{uslcom\_stop\_write}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00953}00953 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00954}00954         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00955}00955 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00956}00956         \mbox{\hyperlink{usb__transfer_8c_abe245d973df0cfd6fb96b884d33ebce3}{usbd\_transfer\_stop}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a61d8af070d99e34876f38c3be4820803}{sc\_xfer}}[\mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67a81e7f5f4fdc62775604a46cbe8c06132}{USLCOM\_BULK\_DT\_WR}}]);}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00957}00957 \}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00958}00958 }
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00959}00959 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00960}\mbox{\hyperlink{uslcom_8c_a7ca5deabbaf7e9566fd82251ac8a38d8}{00960}} \mbox{\hyperlink{uslcom_8c_a7ca5deabbaf7e9566fd82251ac8a38d8}{uslcom\_poll}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00961}00961 \{}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00962}00962         \textcolor{keyword}{struct }\mbox{\hyperlink{structuslcom__softc}{uslcom\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00963}00963         \mbox{\hyperlink{usb__transfer_8c_ab2036eadf83fca25cf0d8cdec16d7227}{usbd\_transfer\_poll}}(sc-\/>\mbox{\hyperlink{structuslcom__softc_a61d8af070d99e34876f38c3be4820803}{sc\_xfer}}, \mbox{\hyperlink{uslcom_8c_a9334a5b9057f32da96db9b5c6a045d67a56d5bb3b4faf9f9dadd5be4fcebd274f}{USLCOM\_N\_TRANSFER}});}
\DoxyCodeLine{\Hypertarget{uslcom_8c_source_l00964}00964 \}}

\end{DoxyCode}
