\hypertarget{uftdi_8c_source}{}\doxysection{uftdi.\+c}
\label{uftdi_8c_source}\index{dev/usb/serial/uftdi.c@{dev/usb/serial/uftdi.c}}
\mbox{\hyperlink{uftdi_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00001}00001 \textcolor{comment}{/*      \$NetBSD: uftdi.c,v 1.13 2002/09/23 05:51:23 simonb Exp \$        */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00002}00002 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00003}00003 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00004}00004 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/2-\/Clause-\/NetBSD}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00005}00005 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00006}00006 \textcolor{comment}{ * Copyright (c) 2000 The NetBSD Foundation, Inc.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00007}00007 \textcolor{comment}{ * All rights reserved.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00008}00008 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00009}00009 \textcolor{comment}{ * This code is derived from software contributed to The NetBSD Foundation}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00010}00010 \textcolor{comment}{ * by Lennart Augustsson (lennart@augustsson.net).}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00011}00011 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00012}00012 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00013}00013 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00014}00014 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00015}00015 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00016}00016 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00017}00017 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00018}00018 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00019}00019 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00020}00020 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00021}00021 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00022}00022 \textcolor{comment}{ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00023}00023 \textcolor{comment}{ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00024}00024 \textcolor{comment}{ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00025}00025 \textcolor{comment}{ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00026}00026 \textcolor{comment}{ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00027}00027 \textcolor{comment}{ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00028}00028 \textcolor{comment}{ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00029}00029 \textcolor{comment}{ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00030}00030 \textcolor{comment}{ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00031}00031 \textcolor{comment}{ * POSSIBILITY OF SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00032}00032 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00033}00033 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00034}00034 \textcolor{preprocessor}{\#include <sys/cdefs.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00035}\mbox{\hyperlink{uftdi_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{00035}} \mbox{\hyperlink{uftdi_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\_\_FBSDID}}(\textcolor{stringliteral}{"{}\$FreeBSD\$"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00036}00036 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00037}00037 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00038}00038 \textcolor{comment}{ * NOTE: all function names beginning like "{}uftdi\_cfg\_"{} can only}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00039}00039 \textcolor{comment}{ * be called from within the config thread function !}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00040}00040 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00041}00041 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00042}00042 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00043}00043 \textcolor{comment}{ * FTDI FT232x, FT2232x, FT4232x, FT8U100AX and FT8U232xM serial adapters.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00044}00044 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00045}00045 \textcolor{comment}{ * Note that we specifically do not do a reset or otherwise alter the state of}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00046}00046 \textcolor{comment}{ * the chip during attach, detach, open, and close, because it could be}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00047}00047 \textcolor{comment}{ * pre-\/initialized (via an attached serial eeprom) to power-\/on into a mode such}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00048}00048 \textcolor{comment}{ * as bitbang in which the pins are being driven to a specific state which we}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00049}00049 \textcolor{comment}{ * must not perturb.  The device gets reset at power-\/on, and doesn't need to be}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00050}00050 \textcolor{comment}{ * reset again after that to function, except as directed by ioctl() calls.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00051}00051 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00052}00052 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00053}00053 \textcolor{preprocessor}{\#include <sys/stdint.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00054}00054 \textcolor{preprocessor}{\#include <sys/stddef.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00055}00055 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00056}00056 \textcolor{preprocessor}{\#include <sys/queue.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00057}00057 \textcolor{preprocessor}{\#include <sys/types.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00058}00058 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00059}00059 \textcolor{preprocessor}{\#include <sys/kernel.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00060}00060 \textcolor{preprocessor}{\#include <sys/bus.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00061}00061 \textcolor{preprocessor}{\#include <sys/module.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00062}00062 \textcolor{preprocessor}{\#include <sys/lock.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00063}00063 \textcolor{preprocessor}{\#include <sys/mutex.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00064}00064 \textcolor{preprocessor}{\#include <sys/condvar.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00065}00065 \textcolor{preprocessor}{\#include <sys/sysctl.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00066}00066 \textcolor{preprocessor}{\#include <sys/sx.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00067}00067 \textcolor{preprocessor}{\#include <sys/unistd.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00068}00068 \textcolor{preprocessor}{\#include <sys/callout.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00069}00069 \textcolor{preprocessor}{\#include <sys/malloc.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00070}00070 \textcolor{preprocessor}{\#include <sys/priv.h>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00071}00071 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00072}00072 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb_8h}{dev/usb/usb.h}}>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00073}00073 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usbdi_8h}{dev/usb/usbdi.h}}>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00074}00074 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usbdi__util_8h}{dev/usb/usbdi\_util.h}}>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00075}00075 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__core_8h}{dev/usb/usb\_core.h}}>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00076}00076 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__ioctl_8h}{dev/usb/usb\_ioctl.h}}>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00077}00077 \textcolor{preprocessor}{\#include "{}usbdevs.h"{}}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00078}00078 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00079}\mbox{\hyperlink{uftdi_8c_a927dd6f59caf10a2991dfb564bcbb1e1}{00079}} \textcolor{preprocessor}{\#define USB\_DEBUG\_VAR uftdi\_debug}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00080}00080 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__debug_8h}{dev/usb/usb\_debug.h}}>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00081}00081 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__process_8h}{dev/usb/usb\_process.h}}>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00082}00082 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00083}00083 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__serial_8h}{dev/usb/serial/usb\_serial.h}}>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00084}00084 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{uftdi__reg_8h}{dev/usb/serial/uftdi\_reg.h}}>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00085}00085 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{uftdiio_8h}{dev/usb/uftdiio.h}}>}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00086}00086 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00087}\mbox{\hyperlink{uftdi_8c_a33cf723fa5d95f7c952f1fc9673143d1}{00087}} \textcolor{keyword}{static} \mbox{\hyperlink{uftdi_8c_a33cf723fa5d95f7c952f1fc9673143d1}{SYSCTL\_NODE}}(\_hw\_usb, OID\_AUTO, uftdi, CTLFLAG\_RW | CTLFLAG\_MPSAFE, 0,}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00088}00088     \textcolor{stringliteral}{"{}USB uftdi"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00089}00089 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00090}00090 \textcolor{preprocessor}{\#ifdef USB\_DEBUG}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00091}00091 \textcolor{keyword}{static} \textcolor{keywordtype}{int} uftdi\_debug = 0;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00092}00092 \mbox{\hyperlink{uftdi_8c_abd7b97aaa48ea92eb039e429033e23b9}{SYSCTL\_INT}}(\_hw\_usb\_uftdi, OID\_AUTO, \mbox{\hyperlink{cfumass_8c_ac3e1795766a80ec63b157951b4b9a7d4}{debug}}, CTLFLAG\_RWTUN,}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00093}00093     \&uftdi\_debug, 0, \textcolor{stringliteral}{"{}Debug level"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00094}00094 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00095}00095 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00096}\mbox{\hyperlink{uftdi_8c_adb0a893a4a5f03b98ea053e5c2c1e7f5}{00096}} \textcolor{preprocessor}{\#define UFTDI\_CONFIG\_INDEX      0}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00097}00097 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00098}00098 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00099}00099 \textcolor{comment}{ * IO buffer sizes and FTDI device procotol sizes.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00100}00100 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00101}00101 \textcolor{comment}{ * Note that the output packet size in the following defines is not the usb}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00102}00102 \textcolor{comment}{ * protocol packet size based on bus speed, it is the size dictated by the FTDI}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00103}00103 \textcolor{comment}{ * device itself, and is used only on older chips.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00104}00104 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00105}00105 \textcolor{comment}{ * We allocate buffers bigger than the hardware's packet size, and process}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00106}00106 \textcolor{comment}{ * multiple packets within each buffer.  This allows the controller to make}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00107}00107 \textcolor{comment}{ * optimal use of the usb bus by conducting multiple transfers with the device}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00108}00108 \textcolor{comment}{ * during a single bus timeslice to fill or drain the chip's fifos.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00109}00109 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00110}00110 \textcolor{comment}{ * The output data on newer chips has no packet header, and we are able to pack}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00111}00111 \textcolor{comment}{ * any number of output bytes into a buffer.  On some older chips, each output}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00112}00112 \textcolor{comment}{ * packet contains a 1-\/byte header and up to 63 bytes of payload.  The size is}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00113}00113 \textcolor{comment}{ * encoded in 6 bits of the header, hence the 64-\/byte limit on packet size.  We}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00114}00114 \textcolor{comment}{ * loop to fill the buffer with many of these header+payload packets.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00115}00115 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00116}00116 \textcolor{comment}{ * The input data on all chips consists of packets which contain a 2-\/byte header}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00117}00117 \textcolor{comment}{ * followed by data payload.  The total size of the packet is wMaxPacketSize}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00118}00118 \textcolor{comment}{ * which can change based on the bus speed (e.g., 64 for full speed, 512 for}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00119}00119 \textcolor{comment}{ * high speed).  We loop to extract the headers and payloads from the packets}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00120}00120 \textcolor{comment}{ * packed into an input buffer.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00121}00121 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00122}\mbox{\hyperlink{uftdi_8c_afc7fd124417acc5edd000082e11a96aa}{00122}} \textcolor{preprocessor}{\#define UFTDI\_IBUFSIZE  2048}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00123}\mbox{\hyperlink{uftdi_8c_a1c6bd61cbad736397e84f46cef56aae7}{00123}} \textcolor{preprocessor}{\#define UFTDI\_IHDRSIZE     2}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00124}\mbox{\hyperlink{uftdi_8c_a23d66f1748b65d2d2581b54e9e5df9c9}{00124}} \textcolor{preprocessor}{\#define UFTDI\_OBUFSIZE  2048}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00125}\mbox{\hyperlink{uftdi_8c_a55a6fe345a38112ddc944db7b367ccd5}{00125}} \textcolor{preprocessor}{\#define UFTDI\_OPKTSIZE    64}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00126}00126 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00127}00127 \textcolor{keyword}{enum} \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00128}\mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47bad993d7059d39653c8254d328e1e9251d}{00128}}         \mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47bad993d7059d39653c8254d328e1e9251d}{UFTDI\_BULK\_DT\_WR}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00129}\mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47bad6fdcbcb7e74e92a320ba65caed86aa1}{00129}}         \mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47bad6fdcbcb7e74e92a320ba65caed86aa1}{UFTDI\_BULK\_DT\_RD}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00130}\mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47ba260f02df5d4f3d1e982fffa78623d1c9}{00130}}         \mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47ba260f02df5d4f3d1e982fffa78623d1c9}{UFTDI\_N\_TRANSFER}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00131}00131 \};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00132}00132 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00133}00133 \textcolor{keyword}{enum} \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00134}\mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca7b3db98dc55022650a9cac9fb42be470}{00134}}         \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca7b3db98dc55022650a9cac9fb42be470}{DEVT\_SIO}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00135}\mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca91a13f5975de0bb6cf6fa65e2463900a}{00135}}         \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca91a13f5975de0bb6cf6fa65e2463900a}{DEVT\_232A}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00136}\mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca6ea09092ac3236ec303683b5fa4f215b}{00136}}         \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca6ea09092ac3236ec303683b5fa4f215b}{DEVT\_232B}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00137}\mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca442c7b0bae8d3912a9a63d8a37ced7d1}{00137}}         \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca442c7b0bae8d3912a9a63d8a37ced7d1}{DEVT\_2232D}},   \textcolor{comment}{/* Includes 2232C */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00138}\mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca8f07a8095ccf8324d6349908abb1f550}{00138}}         \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca8f07a8095ccf8324d6349908abb1f550}{DEVT\_232R}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00139}\mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca3cdd49263a4e8d7c8d221cc6520f532c}{00139}}         \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca3cdd49263a4e8d7c8d221cc6520f532c}{DEVT\_2232H}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00140}\mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294cab8ce3a1d3d496d866f6ebe87757e49a3}{00140}}         \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294cab8ce3a1d3d496d866f6ebe87757e49a3}{DEVT\_4232H}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00141}\mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294caab22444d82b3a6595d1846f7b6a9e308}{00141}}         \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294caab22444d82b3a6595d1846f7b6a9e308}{DEVT\_232H}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00142}\mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca66218d15f8794d719e93a0dedfd5229b}{00142}}         \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca66218d15f8794d719e93a0dedfd5229b}{DEVT\_230X}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00143}00143 \};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00144}00144 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00145}\mbox{\hyperlink{uftdi_8c_a8616d0106bac1773d1c16959fdf1b2cc}{00145}} \textcolor{preprocessor}{\#define DEVF\_BAUDBITS\_HINDEX    0x01    }\textcolor{comment}{/* Baud bits in high byte of index. */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00146}\mbox{\hyperlink{uftdi_8c_ad04852e68ada05d77c4d0f0703604856}{00146}} \textcolor{preprocessor}{\#define DEVF\_BAUDCLK\_12M        0X02    }\textcolor{comment}{/* Base baud clock is 12MHz. */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00147}00147 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00148}\mbox{\hyperlink{structuftdi__softc}{00148}} \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00149}\mbox{\hyperlink{structuftdi__softc_a17df9bb716a03e334688a9b03bb6a7aa}{00149}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structucom__super__softc}{ucom\_super\_softc}} \mbox{\hyperlink{structuftdi__softc_a17df9bb716a03e334688a9b03bb6a7aa}{sc\_super\_ucom}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00150}\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{00150}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structucom__softc}{ucom\_softc}} \mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00151}00151 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00152}\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{00152}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device}{usb\_device}} *\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00153}\mbox{\hyperlink{structuftdi__softc_ac0b46dae8a9ec982b20144279295aec2}{00153}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *\mbox{\hyperlink{structuftdi__softc_ac0b46dae8a9ec982b20144279295aec2}{sc\_xfer}}[\mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47ba260f02df5d4f3d1e982fffa78623d1c9}{UFTDI\_N\_TRANSFER}}];}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00154}\mbox{\hyperlink{structuftdi__softc_af58bb975395efa079b500f27cb2be4b9}{00154}}         device\_t \mbox{\hyperlink{structuftdi__softc_af58bb975395efa079b500f27cb2be4b9}{sc\_dev}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00155}\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{00155}}         \textcolor{keyword}{struct }mtx \mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00156}00156 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00157}\mbox{\hyperlink{structuftdi__softc_a3cde5e4d80bc99d309dbab3905e897dc}{00157}}         uint32\_t \mbox{\hyperlink{structuftdi__softc_a3cde5e4d80bc99d309dbab3905e897dc}{sc\_unit}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00158}00158 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00159}\mbox{\hyperlink{structuftdi__softc_a4afebb4a1c4eb58c49b07db490289f40}{00159}}         uint16\_t \mbox{\hyperlink{structuftdi__softc_a4afebb4a1c4eb58c49b07db490289f40}{sc\_last\_lcr}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00160}\mbox{\hyperlink{structuftdi__softc_a6e43625287fa0ef74e0b744054fdf982}{00160}}         uint16\_t \mbox{\hyperlink{structuftdi__softc_a6e43625287fa0ef74e0b744054fdf982}{sc\_bcdDevice}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00161}00161 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00162}\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{00162}}         uint8\_t \mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00163}\mbox{\hyperlink{structuftdi__softc_ab9c4faf95b351dfdefc09b8d83fadf7b}{00163}}         uint8\_t \mbox{\hyperlink{structuftdi__softc_ab9c4faf95b351dfdefc09b8d83fadf7b}{sc\_devflags}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00164}\mbox{\hyperlink{structuftdi__softc_ab49838e9ea3beed28733b4c3e7084048}{00164}}         uint8\_t \mbox{\hyperlink{structuftdi__softc_ab49838e9ea3beed28733b4c3e7084048}{sc\_hdrlen}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00165}\mbox{\hyperlink{structuftdi__softc_acd63e69af31c94ef6a87a32192bc5643}{00165}}         uint8\_t \mbox{\hyperlink{structuftdi__softc_acd63e69af31c94ef6a87a32192bc5643}{sc\_msr}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00166}\mbox{\hyperlink{structuftdi__softc_a787695fd37cb323a2ca8d709c9272761}{00166}}         uint8\_t \mbox{\hyperlink{structuftdi__softc_a787695fd37cb323a2ca8d709c9272761}{sc\_lsr}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00167}\mbox{\hyperlink{structuftdi__softc_ac7817a96016cdad6e76514b80a387fcc}{00167}}         uint8\_t \mbox{\hyperlink{structuftdi__softc_ac7817a96016cdad6e76514b80a387fcc}{sc\_bitmode}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00168}00168 \};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00169}00169 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00170}\mbox{\hyperlink{structuftdi__param__config}{00170}} \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__param__config}{uftdi\_param\_config}} \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00171}\mbox{\hyperlink{structuftdi__param__config_aad2eb7371bb0d56ebb4be066de0d88e6}{00171}}         uint16\_t \mbox{\hyperlink{structuftdi__param__config_aad2eb7371bb0d56ebb4be066de0d88e6}{baud\_lobits}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00172}\mbox{\hyperlink{structuftdi__param__config_a8e954d6efaca52df0b0cc040d6229134}{00172}}         uint16\_t \mbox{\hyperlink{structuftdi__param__config_a8e954d6efaca52df0b0cc040d6229134}{baud\_hibits}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00173}\mbox{\hyperlink{structuftdi__param__config_ad6b125d9da1cfe028a686cf699903302}{00173}}         uint16\_t \mbox{\hyperlink{structuftdi__param__config_ad6b125d9da1cfe028a686cf699903302}{lcr}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00174}\mbox{\hyperlink{structuftdi__param__config_abb6f837c94e47092766aa4886c3128b9}{00174}}         uint8\_t \mbox{\hyperlink{structuftdi__param__config_abb6f837c94e47092766aa4886c3128b9}{v\_start}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00175}\mbox{\hyperlink{structuftdi__param__config_a2f841128667458cc146d83dfbade2112}{00175}}         uint8\_t \mbox{\hyperlink{structuftdi__param__config_a2f841128667458cc146d83dfbade2112}{v\_stop}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00176}\mbox{\hyperlink{structuftdi__param__config_ac9b207e9bb047433342f2c9f074bf04f}{00176}}         uint8\_t \mbox{\hyperlink{structuftdi__param__config_ac9b207e9bb047433342f2c9f074bf04f}{v\_flow}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00177}00177 \};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00178}00178 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00179}00179 \textcolor{comment}{/* prototypes */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00180}00180 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00181}\mbox{\hyperlink{uftdi_8c_ac99548662366b08e3948f672cf3dea97}{00181}} \textcolor{keyword}{static} device\_probe\_t \mbox{\hyperlink{uftdi_8c_ac99548662366b08e3948f672cf3dea97}{uftdi\_probe}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00182}\mbox{\hyperlink{uftdi_8c_aaa298f57e7f29fb6a4154f9ea45c4497}{00182}} \textcolor{keyword}{static} device\_attach\_t \mbox{\hyperlink{uftdi_8c_aaa298f57e7f29fb6a4154f9ea45c4497}{uftdi\_attach}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00183}\mbox{\hyperlink{uftdi_8c_a35ed8ef6a723b18e59bb26ebdce12942}{00183}} \textcolor{keyword}{static} device\_detach\_t \mbox{\hyperlink{uftdi_8c_a35ed8ef6a723b18e59bb26ebdce12942}{uftdi\_detach}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00184}00184 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{uftdi_8c_a781c0687f3c489de59d1b13b6c370432}{uftdi\_free\_softc}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00185}00185 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00186}\mbox{\hyperlink{uftdi_8c_af520c990e72eb0fd0c98da5686cb421e}{00186}} \textcolor{keyword}{static} \mbox{\hyperlink{usbdi_8h_aad1085e1e87347ed71e554c4b0209239}{usb\_callback\_t}} \mbox{\hyperlink{uftdi_8c_af520c990e72eb0fd0c98da5686cb421e}{uftdi\_write\_callback}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00187}\mbox{\hyperlink{uftdi_8c_ac58308e7d2876160632c68438850d8bd}{00187}} \textcolor{keyword}{static} \mbox{\hyperlink{usbdi_8h_aad1085e1e87347ed71e554c4b0209239}{usb\_callback\_t}} \mbox{\hyperlink{uftdi_8c_ac58308e7d2876160632c68438850d8bd}{uftdi\_read\_callback}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00188}00188 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00189}00189 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{uftdi_8c_af0ed9ee8314d38da01593081416904df}{uftdi\_free}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00190}00190 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{uftdi_8c_a87c8c928f28b292646fa9971172d8612}{uftdi\_cfg\_open}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00191}00191 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{uftdi_8c_a8fba6308a29d570b4980434f447eeec2}{uftdi\_cfg\_close}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00192}00192 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{uftdi_8c_ae17634e31100955348d41707ff95354a}{uftdi\_cfg\_set\_dtr}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, uint8\_t);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00193}00193 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{uftdi_8c_ad823dac3cd2ccd74e60df1ca38f5a7f8}{uftdi\_cfg\_set\_rts}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, uint8\_t);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00194}00194 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{uftdi_8c_ae04992191c2c98129f6596a3d9560d78}{uftdi\_cfg\_set\_break}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, uint8\_t);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00195}00195 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{uftdi_8c_af7ac3b9773a470d602d59f18bad66117}{uftdi\_set\_parm\_soft}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, \textcolor{keyword}{struct} termios *,}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00196}00196                     \textcolor{keyword}{struct} \mbox{\hyperlink{structuftdi__param__config}{uftdi\_param\_config}} *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00197}00197 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{uftdi_8c_a198e878a1d1d0f9cf62208ef37ba4857}{uftdi\_pre\_param}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, \textcolor{keyword}{struct} termios *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00198}00198 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{uftdi_8c_a3d419de9ac97f0d588fd503a45e6e4da}{uftdi\_cfg\_param}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, \textcolor{keyword}{struct} termios *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00199}00199 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{uftdi_8c_a7ba485f0ec3fe9e93c5d9f983d1e9efc}{uftdi\_cfg\_get\_status}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, uint8\_t *,}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00200}00200                     uint8\_t *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00201}00201 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{uftdi_8c_ac0309271f71cf8603b65ed56ad4ea8c1}{uftdi\_reset}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, \textcolor{keywordtype}{int});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00202}00202 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{uftdi_8c_a6728e5d139cd6d0dff82887e145d784d}{uftdi\_set\_bitmode}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, uint8\_t, uint8\_t);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00203}00203 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{uftdi_8c_a0c92134c0cec12a3a278243d5b27899e}{uftdi\_get\_bitmode}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, uint8\_t *, uint8\_t *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00204}00204 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{uftdi_8c_a958c34dc06829bc3d7d53e351d961e6f}{uftdi\_set\_latency}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, \textcolor{keywordtype}{int});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00205}00205 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{uftdi_8c_ad3c4e72c09c66afd3b4e12ba7e21a3b7}{uftdi\_get\_latency}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, \textcolor{keywordtype}{int} *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00206}00206 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{uftdi_8c_a153878e6ec0bfd9069924d600c7e5923}{uftdi\_set\_event\_char}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, \textcolor{keywordtype}{int});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00207}00207 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{uftdi_8c_a4c5c6fafa527b9ad4e98363553c80a65}{uftdi\_set\_error\_char}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, \textcolor{keywordtype}{int});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00208}00208 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{uftdi_8c_a615f0ee07c094986a1e399c6e572ea43}{uftdi\_ioctl}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *, uint32\_t, caddr\_t, \textcolor{keywordtype}{int},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00209}00209                     \textcolor{keyword}{struct} thread *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00210}00210 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{uftdi_8c_acabf4ea1ec98836389bd1586c2e963ee}{uftdi\_start\_read}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00211}00211 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{uftdi_8c_af09fb1024e1a314fa6bf12837712b53e}{uftdi\_stop\_read}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00212}00212 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{uftdi_8c_a85317450541b76f547d111f992d2444b}{uftdi\_start\_write}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00213}00213 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{uftdi_8c_af92349ac2acf22e1464ce1a4653452fe}{uftdi\_stop\_write}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00214}00214 \textcolor{keyword}{static} \textcolor{keywordtype}{void}     \mbox{\hyperlink{uftdi_8c_aaa658229d61aa40333cad8e248ac75e7}{uftdi\_poll}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00215}00215 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00216}\mbox{\hyperlink{uftdi_8c_a3840fb64ad7f4575c263e4088faceca2}{00216}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__config}{usb\_config}} \mbox{\hyperlink{uftdi_8c_a3840fb64ad7f4575c263e4088faceca2}{uftdi\_config}}[\mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47ba260f02df5d4f3d1e982fffa78623d1c9}{UFTDI\_N\_TRANSFER}}] = \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00217}00217         [\mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47bad993d7059d39653c8254d328e1e9251d}{UFTDI\_BULK\_DT\_WR}}] = \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00218}00218                 .\mbox{\hyperlink{structusb__config_a5bd5d569870291a54d9bed8377ed8b10}{type}} = \mbox{\hyperlink{usb_8h_a25240fc009aa67bb7a2b635d2e9401e4}{UE\_BULK}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00219}00219                 .endpoint = \mbox{\hyperlink{usb_8h_a1e8d1f402536e634471569b83f603197}{UE\_ADDR\_ANY}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00220}00220                 .direction = \mbox{\hyperlink{usb_8h_a9a98e1bc9388db2ab5213e9d6496e851}{UE\_DIR\_OUT}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00221}00221                 .bufsize = \mbox{\hyperlink{uftdi_8c_a23d66f1748b65d2d2581b54e9e5df9c9}{UFTDI\_OBUFSIZE}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00222}00222                 .flags = \{.pipe\_bof = 1,\},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00223}00223                 .callback = \&\mbox{\hyperlink{uftdi_8c_af520c990e72eb0fd0c98da5686cb421e}{uftdi\_write\_callback}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00224}00224         \},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00225}00225 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00226}00226         [\mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47bad6fdcbcb7e74e92a320ba65caed86aa1}{UFTDI\_BULK\_DT\_RD}}] = \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00227}00227                 .type = \mbox{\hyperlink{usb_8h_a25240fc009aa67bb7a2b635d2e9401e4}{UE\_BULK}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00228}00228                 .endpoint = \mbox{\hyperlink{usb_8h_a1e8d1f402536e634471569b83f603197}{UE\_ADDR\_ANY}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00229}00229                 .direction = \mbox{\hyperlink{usb_8h_a72bb077a860132c175c166f344c75893}{UE\_DIR\_IN}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00230}00230                 .bufsize = \mbox{\hyperlink{uftdi_8c_afc7fd124417acc5edd000082e11a96aa}{UFTDI\_IBUFSIZE}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00231}00231                 .flags = \{.pipe\_bof = 1,.short\_xfer\_ok = 1,\},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00232}00232                 .callback = \&\mbox{\hyperlink{uftdi_8c_ac58308e7d2876160632c68438850d8bd}{uftdi\_read\_callback}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00233}00233         \},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00234}00234 \};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00235}00235 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00236}\mbox{\hyperlink{uftdi_8c_ac7fde450b017c8deef62c9fa2cde0392}{00236}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structucom__callback}{ucom\_callback}} \mbox{\hyperlink{uftdi_8c_ac7fde450b017c8deef62c9fa2cde0392}{uftdi\_callback}} = \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00237}00237         .\mbox{\hyperlink{structucom__callback_af543b5023679a91b3ae77ed22f2df40d}{ucom\_cfg\_get\_status}} = \&\mbox{\hyperlink{uftdi_8c_a7ba485f0ec3fe9e93c5d9f983d1e9efc}{uftdi\_cfg\_get\_status}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00238}00238         .ucom\_cfg\_set\_dtr = \&\mbox{\hyperlink{uftdi_8c_ae17634e31100955348d41707ff95354a}{uftdi\_cfg\_set\_dtr}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00239}00239         .ucom\_cfg\_set\_rts = \&\mbox{\hyperlink{uftdi_8c_ad823dac3cd2ccd74e60df1ca38f5a7f8}{uftdi\_cfg\_set\_rts}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00240}00240         .ucom\_cfg\_set\_break = \&\mbox{\hyperlink{uftdi_8c_ae04992191c2c98129f6596a3d9560d78}{uftdi\_cfg\_set\_break}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00241}00241         .ucom\_cfg\_param = \&\mbox{\hyperlink{uftdi_8c_a3d419de9ac97f0d588fd503a45e6e4da}{uftdi\_cfg\_param}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00242}00242         .ucom\_cfg\_open = \&\mbox{\hyperlink{uftdi_8c_a87c8c928f28b292646fa9971172d8612}{uftdi\_cfg\_open}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00243}00243         .ucom\_cfg\_close = \&\mbox{\hyperlink{uftdi_8c_a8fba6308a29d570b4980434f447eeec2}{uftdi\_cfg\_close}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00244}00244         .ucom\_pre\_param = \&\mbox{\hyperlink{uftdi_8c_a198e878a1d1d0f9cf62208ef37ba4857}{uftdi\_pre\_param}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00245}00245         .ucom\_ioctl = \&\mbox{\hyperlink{uftdi_8c_a615f0ee07c094986a1e399c6e572ea43}{uftdi\_ioctl}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00246}00246         .ucom\_start\_read = \&\mbox{\hyperlink{uftdi_8c_acabf4ea1ec98836389bd1586c2e963ee}{uftdi\_start\_read}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00247}00247         .ucom\_stop\_read = \&\mbox{\hyperlink{uftdi_8c_af09fb1024e1a314fa6bf12837712b53e}{uftdi\_stop\_read}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00248}00248         .ucom\_start\_write = \&\mbox{\hyperlink{uftdi_8c_a85317450541b76f547d111f992d2444b}{uftdi\_start\_write}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00249}00249         .ucom\_stop\_write = \&\mbox{\hyperlink{uftdi_8c_af92349ac2acf22e1464ce1a4653452fe}{uftdi\_stop\_write}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00250}00250         .ucom\_poll = \&\mbox{\hyperlink{uftdi_8c_aaa658229d61aa40333cad8e248ac75e7}{uftdi\_poll}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00251}00251         .ucom\_free = \&\mbox{\hyperlink{uftdi_8c_af0ed9ee8314d38da01593081416904df}{uftdi\_free}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00252}00252 \};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00253}00253 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00254}\mbox{\hyperlink{uftdi_8c_abc7da4800eba6bd6f68a7d1f87cbb890}{00254}} \textcolor{keyword}{static} device\_method\_t \mbox{\hyperlink{uftdi_8c_abc7da4800eba6bd6f68a7d1f87cbb890}{uftdi\_methods}}[] = \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00255}00255         \textcolor{comment}{/* Device interface */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00256}00256         DEVMETHOD(device\_probe, \mbox{\hyperlink{uftdi_8c_ac99548662366b08e3948f672cf3dea97}{uftdi\_probe}}),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00257}00257         DEVMETHOD(device\_attach, \mbox{\hyperlink{uftdi_8c_aaa298f57e7f29fb6a4154f9ea45c4497}{uftdi\_attach}}),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00258}00258         DEVMETHOD(device\_detach, \mbox{\hyperlink{uftdi_8c_a35ed8ef6a723b18e59bb26ebdce12942}{uftdi\_detach}}),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00259}00259         DEVMETHOD\_END}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00260}00260 \};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00261}00261 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00262}\mbox{\hyperlink{uftdi_8c_ac3a094408275129df541d17ae84392fd}{00262}} \textcolor{keyword}{static} devclass\_t \mbox{\hyperlink{uftdi_8c_ac3a094408275129df541d17ae84392fd}{uftdi\_devclass}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00263}00263 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00264}\mbox{\hyperlink{uftdi_8c_a13513871000bca4a26d92ba2e11de89b}{00264}} \textcolor{keyword}{static} driver\_t \mbox{\hyperlink{uftdi_8c_a13513871000bca4a26d92ba2e11de89b}{uftdi\_driver}} = \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00265}00265         .name = \textcolor{stringliteral}{"{}uftdi"{}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00266}00266         .methods = \mbox{\hyperlink{uftdi_8c_abc7da4800eba6bd6f68a7d1f87cbb890}{uftdi\_methods}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00267}00267         .size = \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}}),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00268}00268 \};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00269}00269 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00270}\mbox{\hyperlink{uftdi_8c_a6c740e7f4fea195f06bd477c3a672a19}{00270}} \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{usbdi_8h_acf836fd8d6349b66a31f45420728da8d}{STRUCT\_USB\_HOST\_ID}} \mbox{\hyperlink{uftdi_8c_a6c740e7f4fea195f06bd477c3a672a19}{uftdi\_devs}}[] = \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00271}00271 \textcolor{preprocessor}{\#define UFTDI\_DEV(v, p, i) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00272}00272 \textcolor{preprocessor}{  \{ USB\_VPI(USB\_VENDOR\_\#\#v, USB\_PRODUCT\_\#\#v\#\#\_\#\#p, i) \}}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00273}00273         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ACTON, SPECTRAPRO, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00274}00274         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ALTI2, N3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00275}00275         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ANALOGDEVICES, GNICE, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00276}00276         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ANALOGDEVICES, GNICEPLUS, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00277}00277         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ATMEL, STK541, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00278}00278         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BAYER, CONTOUR\_CABLE, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00279}00279         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, 232USB9M, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00280}00280         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, 485USB9F\_2W, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00281}00281         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, 485USB9F\_4W, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00282}00282         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, 485USBTB\_2W, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00283}00283         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, 485USBTB\_4W, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00284}00284         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, TTL3USB9M, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00285}00285         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, TTL5USB9M, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00286}00286         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, USO9ML2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00287}00287         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, USO9ML2DR, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00288}00288         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, USO9ML2DR\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00289}00289         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, USOPTL4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00290}00290         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, USOPTL4DR, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00291}00291         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, USOPTL4DR2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00292}00292         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, USOTL4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00293}00293         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, USPTL4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00294}00294         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, USTL4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00295}00295         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BBELECTRONICS, ZZ\_PROG1\_USB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00296}00296         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BRAINBOXES, US257, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00297}00297         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(BRAINBOXES, US25701, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00298}00298         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(CONTEC, COM1USBH, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00299}00299         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(DRESDENELEKTRONIK, SENSORTERMINALBOARD, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00300}00300         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(DRESDENELEKTRONIK, WIRELESSHANDHELDTERMINAL, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00301}00301         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(DRESDENELEKTRONIK, DE\_RFNODE, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00302}00302         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(DRESDENELEKTRONIK, LEVELSHIFTERSTICKLOWCOST, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00303}00303         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ELEKTOR, FT323R, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00304}00304         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(EVOLUTION, ER1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00305}00305         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(EVOLUTION, HYBRID, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00306}00306         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(EVOLUTION, RCM4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00307}00307         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FALCOM, SAMBA, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00308}00308         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FALCOM, TWIST, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00309}00309         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FIC, NEO1973\_DEBUG, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00310}00310         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FIC, NEO1973\_DEBUG, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00311}00311         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, 232EX, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00312}00312         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, 232H, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00313}00313         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, 232RL, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00314}00314         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, 4N\_GALAXY\_DE\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00315}00315         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, 4N\_GALAXY\_DE\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00316}00316         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, 4N\_GALAXY\_DE\_3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00317}00317         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, 8U232AM\_ALT, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00318}00318         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ACCESSO, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00319}00319         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ACG\_HFDUAL, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00320}00320         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ACTIVE\_ROBOTS, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00321}00321         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ACTZWAVE, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00322}00322         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, AMC232, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00323}00323         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ARTEMIS, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00324}00324         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ASK\_RDR400, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00325}00325         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ATIK\_ATK16, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00326}00326         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ATIK\_ATK16C, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00327}00327         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ATIK\_ATK16HR, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00328}00328         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ATIK\_ATK16HRC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00329}00329         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ATIK\_ATK16IC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00330}00330         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, BCS\_SE923, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00331}00331         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CANDAPTER, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00332}00332         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CANUSB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00333}00333         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CCSICDU20\_0, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00334}00334         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CCSICDU40\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00335}00335         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CCSICDU64\_4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00336}00336         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CCSLOAD\_N\_GO\_3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00337}00337         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CCSMACHX\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00338}00338         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CCSPRIME8\_5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00339}00339         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CFA\_631, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00340}00340         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CFA\_632, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00341}00341         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CFA\_633, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00342}00342         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CFA\_634, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00343}00343         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CFA\_635, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00344}00344         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CHAMSYS\_24\_MASTER\_WING, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00345}00345         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CHAMSYS\_MAXI\_WING, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00346}00346         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CHAMSYS\_MEDIA\_WING, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00347}00347         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CHAMSYS\_MIDI\_TIMECODE, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00348}00348         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CHAMSYS\_MINI\_WING, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00349}00349         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CHAMSYS\_PC\_WING, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00350}00350         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CHAMSYS\_USB\_DMX, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00351}00351         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CHAMSYS\_WING, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00352}00352         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, COM4SM, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00353}00353         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CONVERTER\_0, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00354}00354         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CONVERTER\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00355}00355         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CONVERTER\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00356}00356         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CONVERTER\_3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00357}00357         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CONVERTER\_4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00358}00358         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CONVERTER\_5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00359}00359         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CONVERTER\_6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00360}00360         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CONVERTER\_7, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00361}00361         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CTI\_USB\_MINI\_485, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00362}00362         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, CTI\_USB\_NANO\_485, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00363}00363         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, DMX4ALL, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00364}00364         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, DOMINTELL\_DGQG, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00365}00365         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, DOMINTELL\_DUSB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00366}00366         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, DOTEC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00367}00367         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ECLO\_COM\_1WIRE, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00368}00368         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ECO\_PRO\_CDS, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00369}00369         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, EISCOU, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00370}00370         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELSTER\_UNICOM, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00371}00371         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_ALC8500, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00372}00372         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_CLI7000, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00373}00373         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_CSI8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00374}00374         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_EC3000, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00375}00375         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_EM1000DL, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00376}00376         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_EM1010PC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00377}00377         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_FEM, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00378}00378         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_FHZ1000PC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00379}00379         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_FHZ1300PC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00380}00380         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_FM3RX, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00381}00381         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_FS20SIG, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00382}00382         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_HS485, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00383}00383         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_KL100, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00384}00384         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_MSM1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00385}00385         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_PCD200, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00386}00386         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_PCK100, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00387}00387         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_PPS7330, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00388}00388         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_RFP500, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00389}00389         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_T1100, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00390}00390         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_TFD128, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00391}00391         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_TFM100, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00392}00392         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_TWS550, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00393}00393         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_UAD8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00394}00394         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_UDA7, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00395}00395         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_UDF77, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00396}00396         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_UIO88, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00397}00397         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_ULA200, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00398}00398         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_UM100, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00399}00399         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_UMS100, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00400}00400         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_UO100, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00401}00401         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_UR100, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00402}00402         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_USI2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00403}00403         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_USR, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00404}00404         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_UTP8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00405}00405         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_WS300PC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00406}00406         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_WS444PC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00407}00407         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_WS500, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00408}00408         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_WS550, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00409}00409         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_WS777, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00410}00410         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, ELV\_WS888, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00411}00411         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, EMCU2D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00412}00412         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, EMCU2H, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00413}00413         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, FUTURE\_0, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00414}00414         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, FUTURE\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00415}00415         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, FUTURE\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00416}00416         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, GAMMASCOUT, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00417}00417         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, GENERIC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00418}00418         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, GUDEADS\_E808, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00419}00419         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, GUDEADS\_E809, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00420}00420         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, GUDEADS\_E80A, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00421}00421         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, GUDEADS\_E80B, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00422}00422         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, GUDEADS\_E80C, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00423}00423         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, GUDEADS\_E80D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00424}00424         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, GUDEADS\_E80E, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00425}00425         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, GUDEADS\_E80F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00426}00426         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, GUDEADS\_E88D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00427}00427         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, GUDEADS\_E88E, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00428}00428         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, GUDEADS\_E88F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00429}00429         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, HD\_RADIO, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00430}00430         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, HO720, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00431}00431         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, HO730, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00432}00432         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, HO820, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00433}00433         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, HO870, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00434}00434         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, IBS\_APP70, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00435}00435         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, IBS\_PCMCIA, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00436}00436         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, IBS\_PEDO, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00437}00437         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, IBS\_PICPRO, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00438}00438         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, IBS\_PK1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00439}00439         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, IBS\_PROD, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00440}00440         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, IBS\_RS232MON, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00441}00441         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, IBS\_US485, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00442}00442         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, IPLUS, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00443}00443         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, IPLUS2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00444}00444         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, IRTRANS, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00445}00445         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, KBS, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00446}00446         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, KTLINK, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00447}00447         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, LENZ\_LIUSB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00448}00448         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, LK202, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00449}00449         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, LK204, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00450}00450         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, LM3S\_DEVEL\_BOARD, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00451}00451         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, LM3S\_EVAL\_BOARD, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00452}00452         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, LM3S\_ICDI\_B\_BOARD, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00453}00453         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MASTERDEVEL2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00454}00454         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MAXSTREAM, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00455}00455         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MHAM\_DB9, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00456}00456         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MHAM\_IC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00457}00457         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MHAM\_KW, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00458}00458         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MHAM\_RS232, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00459}00459         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MHAM\_Y6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00460}00460         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MHAM\_Y8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00461}00461         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MHAM\_Y9, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00462}00462         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MHAM\_YS, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00463}00463         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MICRO\_CHAMELEON, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00464}00464         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MTXORB\_5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00465}00465         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MTXORB\_6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00466}00466         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MX2\_3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00467}00467         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, MX4\_5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00468}00468         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, NXTCAM, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00469}00469         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, OCEANIC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00470}00470         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, OOCDLINK, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00471}00471         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, OPENDCC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00472}00472         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, OPENDCC\_GATEWAY, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00473}00473         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, OPENDCC\_GBM, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00474}00474         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, OPENDCC\_SNIFFER, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00475}00475         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, OPENDCC\_THROTTLE, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00476}00476         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, PCDJ\_DAC2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00477}00477         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, PCMSFU, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00478}00478         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, PERLE\_ULTRAPORT, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00479}00479         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, PHI\_FISCO, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00480}00480         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, PIEGROUP, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00481}00481         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, PROPOX\_JTAGCABLEII, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00482}00482         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, R2000KU\_TRUE\_RNG, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00483}00483         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, R2X0, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00484}00484         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, RELAIS, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00485}00485         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, REU\_TINY, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00486}00486         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, RMP200, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00487}00487         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, RM\_CANVIEW, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00488}00488         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, RRCIRKITS\_LOCOBUFFER, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00489}00489         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SCIENCESCOPE\_HS\_LOGBOOK, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00490}00490         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SCIENCESCOPE\_LOGBOOKML, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00491}00491         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SCIENCESCOPE\_LS\_LOGBOOK, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00492}00492         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SCS\_DEVICE\_0, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00493}00493         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SCS\_DEVICE\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00494}00494         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SCS\_DEVICE\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00495}00495         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SCS\_DEVICE\_3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00496}00496         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SCS\_DEVICE\_4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00497}00497         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SCS\_DEVICE\_5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00498}00498         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SCS\_DEVICE\_6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00499}00499         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SCS\_DEVICE\_7, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00500}00500         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SCX8\_USB\_PHOENIX, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00501}00501         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SDMUSBQSS, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00502}00502         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SEMC\_DSS20, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00503}00503         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SERIAL\_2232C, \mbox{\hyperlink{uftdi__reg_8h_aa7819233ceb6d5d2393b3f3ff01d0f73}{UFTDI\_JTAG\_CHECK\_STRING}}),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00504}00504         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SERIAL\_2232D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00505}00505         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SERIAL\_232RL, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00506}00506         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SERIAL\_4232H, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00507}00507         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SERIAL\_8U100AX, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00508}00508         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SERIAL\_8U232AM, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00509}00509         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SERIAL\_8U232AM4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00510}00510         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SIGNALYZER\_SH2, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00511}00511         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SIGNALYZER\_SH4, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00512}00512         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SIGNALYZER\_SLITE, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00513}00513         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SIGNALYZER\_ST, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00514}00514         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SITOP\_UPS500S, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00515}00515         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SPECIAL\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00516}00516         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SPECIAL\_3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00517}00517         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SPECIAL\_4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00518}00518         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SPROG\_II, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00519}00519         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SR\_RADIO, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00520}00520         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, SUUNTO\_SPORTS, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00521}00521         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, TACTRIX\_OPENPORT\_13M, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00522}00522         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, TACTRIX\_OPENPORT\_13S, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00523}00523         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, TACTRIX\_OPENPORT\_13U, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00524}00524         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, TAVIR\_STK500, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00525}00525         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, TERATRONIK\_D2XX, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00526}00526         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, TERATRONIK\_VCP, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00527}00527         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, THORLABS, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00528}00528         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, TIAO, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00529}00529         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, TNC\_X, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00530}00530         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, TTUSB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00531}00531         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, TURTELIZER2, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00532}00532         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, UOPTBR, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00533}00533         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, USBSERIAL, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00534}00534         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, USBX\_707, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00535}00535         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, USB\_UIRT, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00536}00536         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, USINT\_CAT, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00537}00537         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, USINT\_RS232, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00538}00538         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, USINT\_WKEY, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00539}00539         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, VARDAAN, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00540}00540         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, VNHCPCUSB\_D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00541}00541         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, WESTREX\_MODEL\_777, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00542}00542         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, WESTREX\_MODEL\_8900F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00543}00543         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, XDS100V2, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00544}00544         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, XDS100V3, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00545}00545         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, XF\_547, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00546}00546         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, XF\_640, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00547}00547         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, XF\_642, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00548}00548         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, XM\_RADIO, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00549}00549         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(FTDI, YEI\_SERVOCENTER31, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00550}00550         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(GNOTOMETRICS, USB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00551}00551         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ICOM, SP1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00552}00552         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ICOM, OPC\_U\_UC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00553}00553         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ICOM, RP2C1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00554}00554         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ICOM, RP2C2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00555}00555         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ICOM, RP2D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00556}00556         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ICOM, RP2KVR, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00557}00557         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ICOM, RP2KVT, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00558}00558         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ICOM, RP2VR, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00559}00559         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ICOM, RP2VT, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00560}00560         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ICOM, RP4KVR, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00561}00561         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(ICOM, RP4KVT, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00562}00562         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(IDTECH, IDT1221U, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00563}00563         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(INTERBIOMETRICS, IOBOARD, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00564}00564         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(INTERBIOMETRICS, MINI\_IOBOARD, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00565}00565         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(INTREPIDCS, NEOVI, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00566}00566         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(INTREPIDCS, VALUECAN, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00567}00567         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(IONICS, PLUGCOMPUTER, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00568}00568         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(JETI, SPC1201, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00569}00569         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(KOBIL, CONV\_B1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00570}00570         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(KOBIL, CONV\_KAAN, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00571}00571         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(LARSENBRUSGAARD, ALTITRACK, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00572}00572         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MARVELL, SHEEVAPLUG, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00573}00573         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0100, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00574}00574         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0101, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00575}00575         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0102, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00576}00576         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0103, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00577}00577         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0104, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00578}00578         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0105, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00579}00579         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0106, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00580}00580         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0107, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00581}00581         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0108, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00582}00582         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0109, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00583}00583         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_010A, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00584}00584         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_010B, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00585}00585         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_010C, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00586}00586         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_010D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00587}00587         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_010E, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00588}00588         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_010F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00589}00589         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0110, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00590}00590         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0111, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00591}00591         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0112, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00592}00592         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0113, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00593}00593         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0114, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00594}00594         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0115, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00595}00595         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0116, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00596}00596         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0117, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00597}00597         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0118, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00598}00598         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0119, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00599}00599         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_011A, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00600}00600         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_011B, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00601}00601         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_011C, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00602}00602         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_011D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00603}00603         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_011E, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00604}00604         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_011F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00605}00605         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0120, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00606}00606         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0121, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00607}00607         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0122, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00608}00608         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0123, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00609}00609         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0124, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00610}00610         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0125, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00611}00611         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0126, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00612}00612         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0128, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00613}00613         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0129, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00614}00614         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_012A, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00615}00615         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_012B, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00616}00616         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_012D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00617}00617         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_012E, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00618}00618         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_012F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00619}00619         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0130, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00620}00620         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0131, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00621}00621         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0132, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00622}00622         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0133, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00623}00623         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0134, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00624}00624         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0135, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00625}00625         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0136, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00626}00626         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0137, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00627}00627         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0138, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00628}00628         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0139, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00629}00629         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_013A, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00630}00630         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_013B, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00631}00631         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_013C, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00632}00632         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_013D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00633}00633         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_013E, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00634}00634         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_013F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00635}00635         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0140, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00636}00636         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0141, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00637}00637         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0142, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00638}00638         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0143, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00639}00639         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0144, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00640}00640         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0145, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00641}00641         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0146, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00642}00642         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0147, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00643}00643         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0148, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00644}00644         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0149, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00645}00645         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_014A, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00646}00646         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_014B, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00647}00647         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_014C, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00648}00648         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_014D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00649}00649         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_014E, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00650}00650         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_014F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00651}00651         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0150, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00652}00652         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0151, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00653}00653         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0152, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00654}00654         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0159, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00655}00655         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_015A, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00656}00656         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_015B, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00657}00657         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_015C, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00658}00658         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_015D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00659}00659         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_015E, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00660}00660         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_015F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00661}00661         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0160, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00662}00662         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0161, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00663}00663         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0162, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00664}00664         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0163, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00665}00665         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0164, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00666}00666         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0165, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00667}00667         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0166, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00668}00668         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0167, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00669}00669         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0168, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00670}00670         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0169, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00671}00671         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_016A, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00672}00672         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_016B, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00673}00673         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_016C, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00674}00674         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_016D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00675}00675         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_016E, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00676}00676         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_016F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00677}00677         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0170, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00678}00678         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0171, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00679}00679         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0172, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00680}00680         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0173, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00681}00681         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0174, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00682}00682         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0175, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00683}00683         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0176, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00684}00684         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0177, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00685}00685         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0178, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00686}00686         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0179, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00687}00687         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_017A, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00688}00688         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_017B, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00689}00689         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_017C, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00690}00690         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_017D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00691}00691         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_017E, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00692}00692         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_017F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00693}00693         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0180, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00694}00694         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0181, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00695}00695         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0182, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00696}00696         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0183, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00697}00697         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0184, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00698}00698         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0185, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00699}00699         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0186, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00700}00700         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0187, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00701}00701         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0188, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00702}00702         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0189, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00703}00703         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_018A, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00704}00704         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_018B, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00705}00705         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_018C, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00706}00706         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_018D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00707}00707         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_018E, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00708}00708         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_018F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00709}00709         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0190, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00710}00710         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0191, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00711}00711         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0192, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00712}00712         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0193, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00713}00713         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0194, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00714}00714         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0195, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00715}00715         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0196, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00716}00716         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0197, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00717}00717         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0198, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00718}00718         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_0199, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00719}00719         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_019A, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00720}00720         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_019B, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00721}00721         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_019C, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00722}00722         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_019D, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00723}00723         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_019E, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00724}00724         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_019F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00725}00725         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01A0, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00726}00726         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01A1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00727}00727         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01A2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00728}00728         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01A3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00729}00729         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01A4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00730}00730         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01A5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00731}00731         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01A6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00732}00732         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01A7, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00733}00733         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01A8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00734}00734         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01A9, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00735}00735         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01AA, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00736}00736         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01AB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00737}00737         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01AC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00738}00738         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01AD, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00739}00739         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01AE, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00740}00740         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01AF, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00741}00741         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01B0, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00742}00742         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01B1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00743}00743         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01B2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00744}00744         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01B3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00745}00745         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01B4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00746}00746         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01B5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00747}00747         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01B6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00748}00748         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01B7, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00749}00749         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01B8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00750}00750         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01B9, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00751}00751         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01BA, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00752}00752         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01BB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00753}00753         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01BC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00754}00754         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01BD, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00755}00755         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01BE, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00756}00756         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01BF, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00757}00757         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01C0, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00758}00758         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01C1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00759}00759         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01C2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00760}00760         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01C3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00761}00761         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01C4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00762}00762         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01C5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00763}00763         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01C6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00764}00764         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01C7, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00765}00765         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01C8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00766}00766         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01C9, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00767}00767         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01CA, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00768}00768         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01CB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00769}00769         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01CC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00770}00770         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01CD, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00771}00771         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01CE, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00772}00772         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01CF, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00773}00773         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01D0, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00774}00774         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01D1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00775}00775         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01D2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00776}00776         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01D3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00777}00777         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01D4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00778}00778         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01D5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00779}00779         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01D6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00780}00780         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01D7, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00781}00781         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01D8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00782}00782         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01D9, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00783}00783         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01DA, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00784}00784         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01DB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00785}00785         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01DC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00786}00786         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01DD, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00787}00787         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01DE, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00788}00788         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01DF, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00789}00789         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01E0, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00790}00790         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01E1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00791}00791         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01E2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00792}00792         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01E3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00793}00793         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01E4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00794}00794         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01E5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00795}00795         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01E6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00796}00796         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01E7, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00797}00797         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01E8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00798}00798         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01E9, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00799}00799         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01EA, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00800}00800         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01EB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00801}00801         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01EC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00802}00802         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01ED, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00803}00803         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01EE, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00804}00804         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01EF, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00805}00805         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01F0, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00806}00806         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01F1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00807}00807         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01F2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00808}00808         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01F3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00809}00809         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01F4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00810}00810         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01F5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00811}00811         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01F6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00812}00812         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01F7, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00813}00813         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01F8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00814}00814         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01F9, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00815}00815         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01FA, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00816}00816         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01FB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00817}00817         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01FC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00818}00818         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01FD, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00819}00819         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01FE, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00820}00820         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, FTDI\_RANGE\_01FF, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00821}00821         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MATRIXORBITAL, MOUA, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00822}00822         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MELCO, PCOPRS1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00823}00823         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(METAGEEK, TELLSTICK, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00824}00824         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(MOBILITY, USB\_SERIAL, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00825}00825         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(OLIMEX, ARM\_USB\_OCD, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00826}00826         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(OLIMEX, ARM\_USB\_OCD\_H, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00827}00827         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(OPTO, CRD7734, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00828}00828         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(OPTO, CRD7734\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00829}00829         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, AD4USB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00830}00830         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, AP485, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00831}00831         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, AP485\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00832}00832         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, DRAK5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00833}00833         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, DRAK6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00834}00834         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, GMSR, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00835}00835         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, GMUX, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00836}00836         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, IRAMP, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00837}00837         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, LEC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00838}00838         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, MU, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00839}00839         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, QUIDO10X1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00840}00840         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, QUIDO2X16, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00841}00841         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, QUIDO2X2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00842}00842         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, QUIDO30X3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00843}00843         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, QUIDO3X32, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00844}00844         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, QUIDO4X4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00845}00845         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, QUIDO60X3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00846}00846         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, QUIDO8X8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00847}00847         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, SB232, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00848}00848         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, SB422, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00849}00849         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, SB422\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00850}00850         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, SB485, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00851}00851         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, SB485C, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00852}00852         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, SB485S, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00853}00853         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, SB485\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00854}00854         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, SIMUKEY, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00855}00855         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, TMU, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00856}00856         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(PAPOUCH, UPSUSB, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00857}00857         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(POSIFLEX, PP7000, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00858}00858         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(QIHARDWARE, JTAGSERIAL, \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00859}00859         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(RATOC, REXUSB60F, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00860}00860         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(RTSYSTEMS, CT29B, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00861}00861         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(RTSYSTEMS, SERIAL\_VX7, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00862}00862         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2101, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00863}00863         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2102, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00864}00864         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2103, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00865}00865         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2104, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00866}00866         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2106, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00867}00867         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2201\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00868}00868         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2201\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00869}00869         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2202\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00870}00870         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2202\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00871}00871         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2203\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00872}00872         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2203\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00873}00873         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2401\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00874}00874         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2401\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00875}00875         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2401\_3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00876}00876         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2401\_4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00877}00877         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2402\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00878}00878         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2402\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00879}00879         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2402\_3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00880}00880         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2402\_4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00881}00881         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2403\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00882}00882         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2403\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00883}00883         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2403\_3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00884}00884         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2403\_4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00885}00885         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2801\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00886}00886         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2801\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00887}00887         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2801\_3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00888}00888         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2801\_4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00889}00889         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2801\_5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00890}00890         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2801\_6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00891}00891         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2801\_7, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00892}00892         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2801\_8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00893}00893         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2802\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00894}00894         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2802\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00895}00895         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2802\_3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00896}00896         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2802\_4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00897}00897         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2802\_5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00898}00898         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2802\_6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00899}00899         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2802\_7, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00900}00900         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2802\_8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00901}00901         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2803\_1, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00902}00902         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2803\_2, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00903}00903         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2803\_3, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00904}00904         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2803\_4, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00905}00905         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2803\_5, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00906}00906         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2803\_6, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00907}00907         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2803\_7, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00908}00908         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SEALEVEL, 2803\_8, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00909}00909         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SIIG2, DK201, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00910}00910         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(SIIG2, US2308, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00911}00911         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(TESTO, USB\_INTERFACE, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00912}00912         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(TML, USB\_SERIAL, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00913}00913         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(TTI, QL355P, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00914}00914         \mbox{\hyperlink{uftdi_8c_a7ba3c0f36680048603607405e7399da7}{UFTDI\_DEV}}(UNKNOWN4, NF\_RIC, 0),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00915}00915 \textcolor{preprocessor}{\#undef UFTDI\_DEV}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00916}00916 \};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00917}00917 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00918}\mbox{\hyperlink{uftdi_8c_a62a29955a625c97288081a4cd410c03e}{00918}} \mbox{\hyperlink{uftdi_8c_a62a29955a625c97288081a4cd410c03e}{DRIVER\_MODULE}}(uftdi, uhub, \mbox{\hyperlink{uftdi_8c_a13513871000bca4a26d92ba2e11de89b}{uftdi\_driver}}, \mbox{\hyperlink{uftdi_8c_ac3a094408275129df541d17ae84392fd}{uftdi\_devclass}}, NULL, NULL);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00919}\mbox{\hyperlink{uftdi_8c_a55f52efae9f3154156a303d9fb89c5ad}{00919}} \mbox{\hyperlink{uftdi_8c_a55f52efae9f3154156a303d9fb89c5ad}{MODULE\_DEPEND}}(uftdi, ucom, 1, 1, 1);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00920}\mbox{\hyperlink{uftdi_8c_a6d68d673a238b94e60d91ce4265a9d0b}{00920}} \mbox{\hyperlink{uftdi_8c_a55f52efae9f3154156a303d9fb89c5ad}{MODULE\_DEPEND}}(uftdi, \mbox{\hyperlink{usb__if_8m_adfa3f6da9c4881e494b180c4ebb06470}{usb}}, 1, 1, 1);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00921}\mbox{\hyperlink{uftdi_8c_aa9f7259615d433b3eac6580375c8e595}{00921}} \mbox{\hyperlink{uftdi_8c_aa9f7259615d433b3eac6580375c8e595}{MODULE\_VERSION}}(uftdi, 1);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00922}\mbox{\hyperlink{uftdi_8c_a33979497c3bc344564502b59083be70b}{00922}} \mbox{\hyperlink{uftdi_8c_a33979497c3bc344564502b59083be70b}{USB\_PNP\_HOST\_INFO}}(\mbox{\hyperlink{uftdi_8c_a6c740e7f4fea195f06bd477c3a672a19}{uftdi\_devs}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00923}00923 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00924}00924 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00925}00925 \textcolor{comment}{ * Jtag product name strings table.  Some products have one or more interfaces}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00926}00926 \textcolor{comment}{ * dedicated to jtag or gpio, but use a product ID that's the same as other}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00927}00927 \textcolor{comment}{ * products which don't.  They are marked with a flag in the table above, and}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00928}00928 \textcolor{comment}{ * the following string table is checked for flagged products.  The string check}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00929}00929 \textcolor{comment}{ * is done with strstr(); in effect there is an implicit wildcard at the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00930}00930 \textcolor{comment}{ * beginning and end of each product name string in table.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00931}00931 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00932}\mbox{\hyperlink{structjtag__by__name}{00932}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structjtag__by__name}{jtag\_by\_name}} \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00933}\mbox{\hyperlink{structjtag__by__name_adc76a11f4b0ff339d630faea0af43d95}{00933}}         \textcolor{keyword}{const} \textcolor{keywordtype}{char} *    \mbox{\hyperlink{structjtag__by__name_adc76a11f4b0ff339d630faea0af43d95}{product\_name}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00934}\mbox{\hyperlink{structjtag__by__name_a75f3113f1dcb757507c47890458ae037}{00934}}         uint32\_t        \mbox{\hyperlink{structjtag__by__name_a75f3113f1dcb757507c47890458ae037}{jtag\_interfaces}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00935}00935 \} \mbox{\hyperlink{uftdi_8c_a375304b1097ee4abaf74f4b302132092}{jtag\_products\_by\_name}}[] = \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00936}00936         \textcolor{comment}{/* TI Beaglebone and TI XDS100Vn jtag product line. */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00937}00937         \{\textcolor{stringliteral}{"{}XDS100V"{}},     \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(0)\},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00938}\mbox{\hyperlink{uftdi_8c_a375304b1097ee4abaf74f4b302132092}{00938}} \};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00939}00939 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00940}00940 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00941}00941 \textcolor{comment}{ * Set up a sysctl and tunable to en/disable the feature of skipping the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00942}00942 \textcolor{comment}{ * creation of tty devices for jtag interfaces.  Enabled by default.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00943}00943 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00944}\mbox{\hyperlink{uftdi_8c_a32c9a2a135b92410f23940bd100593ff}{00944}} \textcolor{keyword}{static} \textcolor{keywordtype}{int} \mbox{\hyperlink{uftdi_8c_a32c9a2a135b92410f23940bd100593ff}{skip\_jtag\_interfaces}} = 1;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00945}\mbox{\hyperlink{uftdi_8c_abd7b97aaa48ea92eb039e429033e23b9}{00945}} \mbox{\hyperlink{uftdi_8c_abd7b97aaa48ea92eb039e429033e23b9}{SYSCTL\_INT}}(\_hw\_usb\_uftdi, OID\_AUTO, \mbox{\hyperlink{uftdi_8c_a32c9a2a135b92410f23940bd100593ff}{skip\_jtag\_interfaces}}, CTLFLAG\_RWTUN,}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00946}00946     \&\mbox{\hyperlink{uftdi_8c_a32c9a2a135b92410f23940bd100593ff}{skip\_jtag\_interfaces}}, 1, \textcolor{stringliteral}{"{}Skip creating tty devices for jtag interfaces"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00947}00947 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00948}00948 \textcolor{keyword}{static} boolean\_t}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00949}\mbox{\hyperlink{uftdi_8c_aff57cd01ce0ad6271f23fed175f8183a}{00949}} \mbox{\hyperlink{uftdi_8c_aff57cd01ce0ad6271f23fed175f8183a}{is\_jtag\_interface}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__attach__arg}{usb\_attach\_arg}} *uaa, \textcolor{keyword}{const} \textcolor{keyword}{struct} \mbox{\hyperlink{structusb__device__id}{usb\_device\_id}} *\textcolor{keywordtype}{id})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00950}00950 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00951}00951         \textcolor{keywordtype}{int} i, iface\_bit;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00952}00952         \textcolor{keyword}{const} \textcolor{keywordtype}{char} * product\_name;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00953}00953         \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structjtag__by__name}{jtag\_by\_name}} *jbn;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00954}00954 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00955}00955         \textcolor{comment}{/* We only allocate 8 flag bits for jtag interface flags. */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00956}00956         \textcolor{keywordflow}{if} (uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_a50a68740a4c82f1a9b999d4a7994b550}{bIfaceIndex}} >= \mbox{\hyperlink{uftdi__reg_8h_ac4254aa09cb2773871a1517a7930141b}{UFTDI\_JTAG\_IFACES\_MAX}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00957}00957                 \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00958}00958         iface\_bit = \mbox{\hyperlink{uftdi__reg_8h_a6862e87c6eb1b53a168ad01d43c55e2b}{UFTDI\_JTAG\_IFACE}}(uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_a50a68740a4c82f1a9b999d4a7994b550}{bIfaceIndex}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00959}00959 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00960}00960         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00961}00961 \textcolor{comment}{         * If requested, search the name strings table and use the interface}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00962}00962 \textcolor{comment}{         * bits from that table when the product name string matches, else use}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00963}00963 \textcolor{comment}{         * the jtag interface bits from the main ID table.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00964}00964 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00965}00965         \textcolor{keywordflow}{if} ((\mbox{\hyperlink{if__usievar_8h_a1e6927fa1486224044e568f9c370519b}{id}}-\/>driver\_info \& \mbox{\hyperlink{uftdi__reg_8h_abfbb530825452a352e2297a10f372cbb}{UFTDI\_JTAG\_MASK}}) == \mbox{\hyperlink{uftdi__reg_8h_aa7819233ceb6d5d2393b3f3ff01d0f73}{UFTDI\_JTAG\_CHECK\_STRING}}) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00966}00966                 \mbox{\hyperlink{structjtag__by__name_adc76a11f4b0ff339d630faea0af43d95}{product\_name}} = \mbox{\hyperlink{usb__device_8c_a7cf233913defcbb3e5bb29f7b6565e6a}{usb\_get\_product}}(uaa-\/>\mbox{\hyperlink{structusb__attach__arg_ac86557d3eaf77874d436ce38648b0276}{device}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00967}00967                 \textcolor{keywordflow}{for} (i = 0; i < nitems(\mbox{\hyperlink{uftdi_8c_a375304b1097ee4abaf74f4b302132092}{jtag\_products\_by\_name}}); i++) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00968}00968                         jbn = \&\mbox{\hyperlink{uftdi_8c_a375304b1097ee4abaf74f4b302132092}{jtag\_products\_by\_name}}[i];}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00969}00969                         \textcolor{keywordflow}{if} (strstr(\mbox{\hyperlink{structjtag__by__name_adc76a11f4b0ff339d630faea0af43d95}{product\_name}}, jbn-\/>\mbox{\hyperlink{structjtag__by__name_adc76a11f4b0ff339d630faea0af43d95}{product\_name}}) != NULL \&\&}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00970}00970                             (jbn-\/>\mbox{\hyperlink{structjtag__by__name_a75f3113f1dcb757507c47890458ae037}{jtag\_interfaces}} \& iface\_bit) != 0)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00971}00971                                 \textcolor{keywordflow}{return} (1);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00972}00972                 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00973}00973         \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} ((\mbox{\hyperlink{if__usievar_8h_a1e6927fa1486224044e568f9c370519b}{id}}-\/>driver\_info \& iface\_bit) != 0)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00974}00974                 \textcolor{keywordflow}{return} (1);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00975}00975 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00976}00976         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00977}00977 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00978}00978 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00979}00979 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00980}00980 \textcolor{comment}{ * Set up softc fields whose value depends on the device type.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00981}00981 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00982}00982 \textcolor{comment}{ * Note that the 2232C and 2232D devices are the same for our purposes.  In the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00983}00983 \textcolor{comment}{ * silicon the difference is that the D series has CPU FIFO mode and C doesn't.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00984}00984 \textcolor{comment}{ * I haven't found any way of determining the C/D difference from info provided}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00985}00985 \textcolor{comment}{ * by the chip other than trying to set CPU FIFO mode and having it work or not.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00986}00986 \textcolor{comment}{ * }}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00987}00987 \textcolor{comment}{ * Due to a hardware bug, a 232B chip without an eeprom reports itself as a }}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00988}00988 \textcolor{comment}{ * 232A, but if the serial number is also zero we know it's really a 232B. }}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00989}00989 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00990}00990 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00991}\mbox{\hyperlink{uftdi_8c_a5f8dbf81da60021cdeb8d4f5b52ede49}{00991}} \mbox{\hyperlink{uftdi_8c_a5f8dbf81da60021cdeb8d4f5b52ede49}{uftdi\_devtype\_setup}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc, \textcolor{keyword}{struct} \mbox{\hyperlink{structusb__attach__arg}{usb\_attach\_arg}} *uaa)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00992}00992 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00993}00993         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__descriptor}{usb\_device\_descriptor}} *dd;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00994}00994 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00995}00995         sc-\/>\mbox{\hyperlink{structuftdi__softc_a6e43625287fa0ef74e0b744054fdf982}{sc\_bcdDevice}} = uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_afb2ebde174df050730dc83fcb0927582}{bcdDevice}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00996}00996 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00997}00997         \textcolor{keywordflow}{switch} (uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_afb2ebde174df050730dc83fcb0927582}{bcdDevice}}) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00998}00998         \textcolor{keywordflow}{case} 0x200:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l00999}00999                 dd = \mbox{\hyperlink{usb__device_8c_a8f67d00d4e9d051fd220f7a1562654d2}{usbd\_get\_device\_descriptor}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01000}01000                 \textcolor{keywordflow}{if} (dd-\/>\mbox{\hyperlink{structusb__device__descriptor_a1141facc29d7e17e4d8209224077a5b7}{iSerialNumber}} == 0) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01001}01001                         sc-\/>\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}} = \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca6ea09092ac3236ec303683b5fa4f215b}{DEVT\_232B}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01002}01002                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01003}01003                         sc-\/>\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}} = \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca91a13f5975de0bb6cf6fa65e2463900a}{DEVT\_232A}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01004}01004                 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01005}01005                 sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}} = 0;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01006}01006                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01007}01007         \textcolor{keywordflow}{case} 0x400:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01008}01008                 sc-\/>\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}} = \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca6ea09092ac3236ec303683b5fa4f215b}{DEVT\_232B}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01009}01009                 sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}} = 0;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01010}01010                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01011}01011         \textcolor{keywordflow}{case} 0x500:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01012}01012                 sc-\/>\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}} = \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca442c7b0bae8d3912a9a63d8a37ced7d1}{DEVT\_2232D}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01013}01013                 sc-\/>\mbox{\hyperlink{structuftdi__softc_ab9c4faf95b351dfdefc09b8d83fadf7b}{sc\_devflags}} |= \mbox{\hyperlink{uftdi_8c_a8616d0106bac1773d1c16959fdf1b2cc}{DEVF\_BAUDBITS\_HINDEX}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01014}01014                 sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}} = \mbox{\hyperlink{uftdi__reg_8h_aa5e4271bcf2a509968946e029958809d}{FTDI\_PIT\_SIOA}} + uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_a268433f99f7bfcc278a619418e3c44fa}{bIfaceNum}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01015}01015                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01016}01016         \textcolor{keywordflow}{case} 0x600:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01017}01017                 sc-\/>\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}} = \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca8f07a8095ccf8324d6349908abb1f550}{DEVT\_232R}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01018}01018                 sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}} = 0;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01019}01019                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01020}01020         \textcolor{keywordflow}{case} 0x700:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01021}01021                 sc-\/>\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}} = \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca3cdd49263a4e8d7c8d221cc6520f532c}{DEVT\_2232H}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01022}01022                 sc-\/>\mbox{\hyperlink{structuftdi__softc_ab9c4faf95b351dfdefc09b8d83fadf7b}{sc\_devflags}} |= \mbox{\hyperlink{uftdi_8c_a8616d0106bac1773d1c16959fdf1b2cc}{DEVF\_BAUDBITS\_HINDEX}} | \mbox{\hyperlink{uftdi_8c_ad04852e68ada05d77c4d0f0703604856}{DEVF\_BAUDCLK\_12M}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01023}01023                 sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}} = \mbox{\hyperlink{uftdi__reg_8h_aa5e4271bcf2a509968946e029958809d}{FTDI\_PIT\_SIOA}} + uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_a268433f99f7bfcc278a619418e3c44fa}{bIfaceNum}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01024}01024                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01025}01025         \textcolor{keywordflow}{case} 0x800:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01026}01026                 sc-\/>\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}} = \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294cab8ce3a1d3d496d866f6ebe87757e49a3}{DEVT\_4232H}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01027}01027                 sc-\/>\mbox{\hyperlink{structuftdi__softc_ab9c4faf95b351dfdefc09b8d83fadf7b}{sc\_devflags}} |= \mbox{\hyperlink{uftdi_8c_a8616d0106bac1773d1c16959fdf1b2cc}{DEVF\_BAUDBITS\_HINDEX}} | \mbox{\hyperlink{uftdi_8c_ad04852e68ada05d77c4d0f0703604856}{DEVF\_BAUDCLK\_12M}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01028}01028                 sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}} = \mbox{\hyperlink{uftdi__reg_8h_aa5e4271bcf2a509968946e029958809d}{FTDI\_PIT\_SIOA}} + uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_a268433f99f7bfcc278a619418e3c44fa}{bIfaceNum}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01029}01029                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01030}01030         \textcolor{keywordflow}{case} 0x900:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01031}01031                 sc-\/>\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}} = \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294caab22444d82b3a6595d1846f7b6a9e308}{DEVT\_232H}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01032}01032                 sc-\/>\mbox{\hyperlink{structuftdi__softc_ab9c4faf95b351dfdefc09b8d83fadf7b}{sc\_devflags}} |= \mbox{\hyperlink{uftdi_8c_a8616d0106bac1773d1c16959fdf1b2cc}{DEVF\_BAUDBITS\_HINDEX}} | \mbox{\hyperlink{uftdi_8c_ad04852e68ada05d77c4d0f0703604856}{DEVF\_BAUDCLK\_12M}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01033}01033                 sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}} = \mbox{\hyperlink{uftdi__reg_8h_aa5e4271bcf2a509968946e029958809d}{FTDI\_PIT\_SIOA}} + uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_a268433f99f7bfcc278a619418e3c44fa}{bIfaceNum}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01034}01034                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01035}01035         \textcolor{keywordflow}{case} 0x1000:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01036}01036                 sc-\/>\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}} = \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca66218d15f8794d719e93a0dedfd5229b}{DEVT\_230X}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01037}01037                 sc-\/>\mbox{\hyperlink{structuftdi__softc_ab9c4faf95b351dfdefc09b8d83fadf7b}{sc\_devflags}} |= \mbox{\hyperlink{uftdi_8c_a8616d0106bac1773d1c16959fdf1b2cc}{DEVF\_BAUDBITS\_HINDEX}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01038}01038                 sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}} = \mbox{\hyperlink{uftdi__reg_8h_aa5e4271bcf2a509968946e029958809d}{FTDI\_PIT\_SIOA}} + uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_a268433f99f7bfcc278a619418e3c44fa}{bIfaceNum}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01039}01039                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01040}01040         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01041}01041                 \textcolor{keywordflow}{if} (uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_afb2ebde174df050730dc83fcb0927582}{bcdDevice}} < 0x200) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01042}01042                         sc-\/>\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}} = \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca7b3db98dc55022650a9cac9fb42be470}{DEVT\_SIO}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01043}01043                         sc-\/>\mbox{\hyperlink{structuftdi__softc_ab49838e9ea3beed28733b4c3e7084048}{sc\_hdrlen}} = 1;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01044}01044                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01045}01045                         sc-\/>\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}} = \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca8f07a8095ccf8324d6349908abb1f550}{DEVT\_232R}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01046}01046                         device\_printf(sc-\/>\mbox{\hyperlink{structuftdi__softc_af58bb975395efa079b500f27cb2be4b9}{sc\_dev}}, \textcolor{stringliteral}{"{}Warning: unknown FTDI "{}}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01047}01047                             \textcolor{stringliteral}{"{}device type, bcdDevice=0x\%04x, assuming 232R\(\backslash\)n"{}}, }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01048}01048                             uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_afb2ebde174df050730dc83fcb0927582}{bcdDevice}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01049}01049                 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01050}01050                 sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}} = 0;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01051}01051                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01052}01052         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01053}01053 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01054}01054 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01055}01055 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01056}\mbox{\hyperlink{uftdi_8c_aee49a4259fc1efb367a768a29768e87d}{01056}} \mbox{\hyperlink{uftdi_8c_ac99548662366b08e3948f672cf3dea97}{uftdi\_probe}}(device\_t dev)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01057}01057 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01058}01058         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__attach__arg}{usb\_attach\_arg}} *uaa = device\_get\_ivars(dev);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01059}01059         \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__id}{usb\_device\_id}} *\mbox{\hyperlink{if__usievar_8h_a1e6927fa1486224044e568f9c370519b}{id}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01060}01060 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01061}01061         \textcolor{keywordflow}{if} (uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a246691e99681281d3113d63e81b7e4f0}{usb\_mode}} != \mbox{\hyperlink{usb_8h_a9bc559812598988121896dceb483806ba1c7091216cfa9c9f4a252b0825ed32cb}{USB\_MODE\_HOST}}) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01062}01062                 \textcolor{keywordflow}{return} (ENXIO);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01063}01063         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01064}01064         \textcolor{keywordflow}{if} (uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_a9e2af2c9a58f0df11559c7679185b0e8}{bConfigIndex}} != \mbox{\hyperlink{uftdi_8c_adb0a893a4a5f03b98ea053e5c2c1e7f5}{UFTDI\_CONFIG\_INDEX}}) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01065}01065                 \textcolor{keywordflow}{return} (ENXIO);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01066}01066         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01067}01067 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01068}01068         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01069}01069 \textcolor{comment}{         * Attach to all present interfaces unless this is a JTAG one, which}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01070}01070 \textcolor{comment}{         * we leave for userland.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01071}01071 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01072}01072         \textcolor{keywordtype}{id} = \mbox{\hyperlink{usb__lookup_8c_aec7e4e8a210d83fd2ce8b0f34188f974}{usbd\_lookup\_id\_by\_info}}(\mbox{\hyperlink{uftdi_8c_a6c740e7f4fea195f06bd477c3a672a19}{uftdi\_devs}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{uftdi_8c_a6c740e7f4fea195f06bd477c3a672a19}{uftdi\_devs}}),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01073}01073             \&uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01074}01074         \textcolor{keywordflow}{if} (\textcolor{keywordtype}{id} == NULL)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01075}01075                 \textcolor{keywordflow}{return} (ENXIO);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01076}01076         \textcolor{keywordflow}{if} (\mbox{\hyperlink{uftdi_8c_a32c9a2a135b92410f23940bd100593ff}{skip\_jtag\_interfaces}} \&\& \mbox{\hyperlink{uftdi_8c_aff57cd01ce0ad6271f23fed175f8183a}{is\_jtag\_interface}}(uaa, \textcolor{keywordtype}{id})) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01077}01077                 printf(\textcolor{stringliteral}{"{}\%s: skipping JTAG interface \#\%d for '\%s' at \%u.\%u\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01078}01078                     device\_get\_name(dev),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01079}01079                     uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_a50a68740a4c82f1a9b999d4a7994b550}{bIfaceIndex}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01080}01080                     \mbox{\hyperlink{usb__device_8c_a7cf233913defcbb3e5bb29f7b6565e6a}{usb\_get\_product}}(uaa-\/>\mbox{\hyperlink{structusb__attach__arg_ac86557d3eaf77874d436ce38648b0276}{device}}),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01081}01081                     \mbox{\hyperlink{usb__device_8c_a6624075c44563546c2977fd76254a7ee}{usbd\_get\_bus\_index}}(uaa-\/>\mbox{\hyperlink{structusb__attach__arg_ac86557d3eaf77874d436ce38648b0276}{device}}),}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01082}01082                     \mbox{\hyperlink{usb__device_8c_af8630adb8d1d257c963227e4a409c52d}{usbd\_get\_device\_index}}(uaa-\/>\mbox{\hyperlink{structusb__attach__arg_ac86557d3eaf77874d436ce38648b0276}{device}}));}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01083}01083                 \textcolor{keywordflow}{return} (ENXIO);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01084}01084         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01085}01085         uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a4d32c1b722effd2adff410595d390e4b}{driver\_info}} = \textcolor{keywordtype}{id}-\/>driver\_info;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01086}01086         \textcolor{keywordflow}{return} (BUS\_PROBE\_SPECIFIC);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01087}01087 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01088}01088 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01089}01089 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01090}\mbox{\hyperlink{uftdi_8c_a8cada5cc96bd8107e379047ef4753696}{01090}} \mbox{\hyperlink{uftdi_8c_aaa298f57e7f29fb6a4154f9ea45c4497}{uftdi\_attach}}(device\_t dev)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01091}01091 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01092}01092         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__attach__arg}{usb\_attach\_arg}} *uaa = device\_get\_ivars(dev);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01093}01093         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = device\_get\_softc(dev);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01094}01094         \textcolor{keywordtype}{int} \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01095}01095 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01096}01096         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01097}01097 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01098}01098         sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}} = uaa-\/>\mbox{\hyperlink{structusb__attach__arg_ac86557d3eaf77874d436ce38648b0276}{device}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01099}01099         sc-\/>\mbox{\hyperlink{structuftdi__softc_af58bb975395efa079b500f27cb2be4b9}{sc\_dev}} = dev;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01100}01100         sc-\/>\mbox{\hyperlink{structuftdi__softc_a3cde5e4d80bc99d309dbab3905e897dc}{sc\_unit}} = device\_get\_unit(dev);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01101}01101         sc-\/>\mbox{\hyperlink{structuftdi__softc_ac7817a96016cdad6e76514b80a387fcc}{sc\_bitmode}} = \mbox{\hyperlink{uftdiio_8h_ad8f7267ef2597ca3494fb3755a9f96faa3ffe9dc98c9554ad924b751681fae208}{UFTDI\_BITMODE\_NONE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01102}01102 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01103}01103         \mbox{\hyperlink{usb__util_8c_a2f65a197990caa1a69a16691ce4dc66a}{device\_set\_usb\_desc}}(dev);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01104}01104         mtx\_init(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}}, \textcolor{stringliteral}{"{}uftdi"{}}, NULL, MTX\_DEF);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01105}01105         \mbox{\hyperlink{usb__serial_8c_a3533648e606891c90d0267b21b3ba59e}{ucom\_ref}}(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a17df9bb716a03e334688a9b03bb6a7aa}{sc\_super\_ucom}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01106}01106 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01107}01107         \mbox{\hyperlink{uftdi_8c_a5f8dbf81da60021cdeb8d4f5b52ede49}{uftdi\_devtype\_setup}}(sc, uaa);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01108}01108 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01109}01109         \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{uftdi_8c_source_l01110}01110             \&uaa-\/>\mbox{\hyperlink{structusb__attach__arg_a66c2afc71fce73cc432f7d58593e1f26}{info}}.\mbox{\hyperlink{structusbd__lookup__info_a50a68740a4c82f1a9b999d4a7994b550}{bIfaceIndex}}, sc-\/>\mbox{\hyperlink{structuftdi__softc_ac0b46dae8a9ec982b20144279295aec2}{sc\_xfer}}, \mbox{\hyperlink{uftdi_8c_a3840fb64ad7f4575c263e4088faceca2}{uftdi\_config}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01111}01111             \mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47ba260f02df5d4f3d1e982fffa78623d1c9}{UFTDI\_N\_TRANSFER}}, sc, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01112}01112 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01113}01113         \textcolor{keywordflow}{if} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01114}01114                 device\_printf(dev, \textcolor{stringliteral}{"{}allocating USB "{}}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01115}01115                     \textcolor{stringliteral}{"{}transfers failed\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01116}01116                 \textcolor{keywordflow}{goto} detach;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01117}01117         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01118}01118         \textcolor{comment}{/* clear stall at first run */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01119}01119         mtx\_lock(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01120}01120         \mbox{\hyperlink{usb__transfer_8c_abadf9cb2f8e81a5133af0c8030039de3}{usbd\_xfer\_set\_stall}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_ac0b46dae8a9ec982b20144279295aec2}{sc\_xfer}}[\mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47bad993d7059d39653c8254d328e1e9251d}{UFTDI\_BULK\_DT\_WR}}]);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01121}01121         \mbox{\hyperlink{usb__transfer_8c_abadf9cb2f8e81a5133af0c8030039de3}{usbd\_xfer\_set\_stall}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_ac0b46dae8a9ec982b20144279295aec2}{sc\_xfer}}[\mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47bad6fdcbcb7e74e92a320ba65caed86aa1}{UFTDI\_BULK\_DT\_RD}}]);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01122}01122         mtx\_unlock(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01123}01123 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01124}01124         \textcolor{comment}{/* set a valid "{}lcr"{} value */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01125}01125 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01126}01126         sc-\/>\mbox{\hyperlink{structuftdi__softc_a4afebb4a1c4eb58c49b07db490289f40}{sc\_last\_lcr}} =}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01127}01127             (\mbox{\hyperlink{uftdi__reg_8h_acd6333c509f4f1fa3d44d3077ae9c7df}{FTDI\_SIO\_SET\_DATA\_STOP\_BITS\_2}} |}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01128}01128             \mbox{\hyperlink{uftdi__reg_8h_a1d3b7a2a5e8a5cb449ced0025c5304e3}{FTDI\_SIO\_SET\_DATA\_PARITY\_NONE}} |}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01129}01129             \mbox{\hyperlink{uftdi__reg_8h_a99c4727608a4621f934c2a74c6ba8199}{FTDI\_SIO\_SET\_DATA\_BITS}}(8));}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01130}01130 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01131}01131         \textcolor{comment}{/* Indicate tx bits in sc\_lsr can be used to determine busy vs idle. */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01132}01132         \mbox{\hyperlink{usb__serial_8h_a0cc6166341408ac1b62705c5373ced57}{ucom\_use\_lsr\_txbits}}(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01133}01133 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01134}01134         \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = \mbox{\hyperlink{usb__serial_8c_a1a14cc63123395507acee783de212d75}{ucom\_attach}}(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a17df9bb716a03e334688a9b03bb6a7aa}{sc\_super\_ucom}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}, 1, sc,}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01135}01135             \&\mbox{\hyperlink{uftdi_8c_ac7fde450b017c8deef62c9fa2cde0392}{uftdi\_callback}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01136}01136         \textcolor{keywordflow}{if} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01137}01137                 \textcolor{keywordflow}{goto} detach;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01138}01138         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01139}01139         \mbox{\hyperlink{usb__serial_8c_a5fd441bb430a68061e8c933443f1d14f}{ucom\_set\_pnpinfo\_usb}}(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a17df9bb716a03e334688a9b03bb6a7aa}{sc\_super\_ucom}}, dev);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01140}01140 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01141}01141         \textcolor{keywordflow}{return} (0);                     \textcolor{comment}{/* success */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01142}01142 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01143}01143 detach:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01144}01144         \mbox{\hyperlink{uftdi_8c_a35ed8ef6a723b18e59bb26ebdce12942}{uftdi\_detach}}(dev);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01145}01145         \textcolor{keywordflow}{return} (ENXIO);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01146}01146 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01147}01147 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01148}01148 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01149}\mbox{\hyperlink{uftdi_8c_a03fd52ad121a85203db1bba6abf60d31}{01149}} \mbox{\hyperlink{uftdi_8c_a35ed8ef6a723b18e59bb26ebdce12942}{uftdi\_detach}}(device\_t dev)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01150}01150 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01151}01151         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = device\_get\_softc(dev);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01152}01152 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01153}01153         \mbox{\hyperlink{usb__serial_8c_abcceb7ddf05b758da5f3ada77a962ad1}{ucom\_detach}}(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a17df9bb716a03e334688a9b03bb6a7aa}{sc\_super\_ucom}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01154}01154         \mbox{\hyperlink{usb__transfer_8c_a2f5ab55bfe7f356bb7a7505ff35c9741}{usbd\_transfer\_unsetup}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_ac0b46dae8a9ec982b20144279295aec2}{sc\_xfer}}, \mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47ba260f02df5d4f3d1e982fffa78623d1c9}{UFTDI\_N\_TRANSFER}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01155}01155 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01156}01156         device\_claim\_softc(dev);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01157}01157 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01158}01158         \mbox{\hyperlink{uftdi_8c_a781c0687f3c489de59d1b13b6c370432}{uftdi\_free\_softc}}(sc);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01159}01159 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01160}01160         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01161}01161 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01162}01162 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01163}\mbox{\hyperlink{uftdi_8c_ab21206f18b02a6bea81f36cb32b45fcd}{01163}} \mbox{\hyperlink{uftdi_8c_ab21206f18b02a6bea81f36cb32b45fcd}{UCOM\_UNLOAD\_DRAIN}}(uftdi);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01164}01164 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01165}01165 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01166}\mbox{\hyperlink{uftdi_8c_a781c0687f3c489de59d1b13b6c370432}{01166}} \mbox{\hyperlink{uftdi_8c_a781c0687f3c489de59d1b13b6c370432}{uftdi\_free\_softc}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01167}01167 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01168}01168         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8c_a27ca652272693169923a38646505d083}{ucom\_unref}}(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a17df9bb716a03e334688a9b03bb6a7aa}{sc\_super\_ucom}})) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01169}01169                 mtx\_destroy(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01170}01170                 device\_free\_softc(sc);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01171}01171         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01172}01172 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01173}01173 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01174}01174 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01175}\mbox{\hyperlink{uftdi_8c_af0ed9ee8314d38da01593081416904df}{01175}} \mbox{\hyperlink{uftdi_8c_af0ed9ee8314d38da01593081416904df}{uftdi\_free}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01176}01176 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01177}01177         \mbox{\hyperlink{uftdi_8c_a781c0687f3c489de59d1b13b6c370432}{uftdi\_free\_softc}}(ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01178}01178 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01179}01179 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01180}01180 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01181}\mbox{\hyperlink{uftdi_8c_a87c8c928f28b292646fa9971172d8612}{01181}} \mbox{\hyperlink{uftdi_8c_a87c8c928f28b292646fa9971172d8612}{uftdi\_cfg\_open}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01182}01182 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01183}01183 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01184}01184         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01185}01185 \textcolor{comment}{         * This do-\/nothing open routine exists for the sole purpose of this}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01186}01186 \textcolor{comment}{         * DPRINTF() so that you can see the point at which open gets called}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01187}01187 \textcolor{comment}{         * when debugging is enabled.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01188}01188 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01189}01189         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01190}01190 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01191}01191 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01192}01192 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01193}\mbox{\hyperlink{uftdi_8c_a8fba6308a29d570b4980434f447eeec2}{01193}} \mbox{\hyperlink{uftdi_8c_a8fba6308a29d570b4980434f447eeec2}{uftdi\_cfg\_close}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01194}01194 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01195}01195 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01196}01196         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01197}01197 \textcolor{comment}{         * This do-\/nothing close routine exists for the sole purpose of this}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01198}01198 \textcolor{comment}{         * DPRINTF() so that you can see the point at which close gets called}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01199}01199 \textcolor{comment}{         * when debugging is enabled.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01200}01200 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01201}01201         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01202}01202 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01203}01203 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01204}01204 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01205}\mbox{\hyperlink{uftdi_8c_a2644ee77e26c8e46d84efe3f05c5e5e3}{01205}} \mbox{\hyperlink{uftdi_8c_af520c990e72eb0fd0c98da5686cb421e}{uftdi\_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{uftdi_8c_source_l01206}01206 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01207}01207         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = \mbox{\hyperlink{usb__transfer_8c_ab75ef6d82c4a000a3d16c133d1d589b0}{usbd\_xfer\_softc}}(xfer);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01208}01208         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__page__cache}{usb\_page\_cache}} *pc;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01209}01209         uint32\_t pktlen;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01210}01210         uint32\_t buflen;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01211}01211         uint8\_t buf[1];}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01212}01212 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01213}01213         DPRINTFN(3, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01214}01214 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01215}01215         \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usbdi_8h_adc2dd35bd0dd6a42d3abd4230796a7b0}{USB\_GET\_STATE}}(xfer)) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01216}01216         \textcolor{keywordflow}{case} \mbox{\hyperlink{usbdi_8h_a3aa7120c3ecab31972b8fe219530f552}{USB\_ST\_SETUP}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01217}01217         \textcolor{keywordflow}{case} \mbox{\hyperlink{usbdi_8h_a8f0386217ba77be3e47721fae9aa9b3d}{USB\_ST\_TRANSFERRED}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01218}01218 tr\_setup:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01219}01219                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01220}01220 \textcolor{comment}{                 * If output packets don't require headers (the common case) we}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01221}01221 \textcolor{comment}{                 * can just load the buffer up with payload bytes all at once.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01222}01222 \textcolor{comment}{                 * Otherwise, loop to format packets into the buffer while there}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01223}01223 \textcolor{comment}{                 * is data available, and room for a packet header and at least}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01224}01224 \textcolor{comment}{                 * one byte of payload.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01225}01225 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01226}01226 \textcolor{comment}{                 * NOTE: The FTDI chip doesn't accept zero length}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01227}01227 \textcolor{comment}{                 * packets. This cannot happen because the "{}pktlen"{}}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01228}01228 \textcolor{comment}{                 * will always be non-\/zero when "{}ucom\_get\_data()"{}}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01229}01229 \textcolor{comment}{                 * returns non-\/zero which we check below.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01230}01230 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01231}01231                 pc = \mbox{\hyperlink{usb__transfer_8c_a6e66695b916f0770a259bed959c21555}{usbd\_xfer\_get\_frame}}(xfer, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01232}01232                 \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structuftdi__softc_ab49838e9ea3beed28733b4c3e7084048}{sc\_hdrlen}} == 0) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01233}01233                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__serial_8c_a014a131e1bce5fb84d1788e48a69733f}{ucom\_get\_data}}(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}, pc, 0, \mbox{\hyperlink{uftdi_8c_a23d66f1748b65d2d2581b54e9e5df9c9}{UFTDI\_OBUFSIZE}}, }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01234}01234                             \&buflen) == 0)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01235}01235                                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01236}01236                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01237}01237                         buflen = 0;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01238}01238                         \textcolor{keywordflow}{while} (buflen < UFTDI\_OBUFSIZE -\/ sc-\/>sc\_hdrlen -\/ 1 \&\&}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01239}01239                             \mbox{\hyperlink{usb__serial_8c_a014a131e1bce5fb84d1788e48a69733f}{ucom\_get\_data}}(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}, pc, buflen + }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01240}01240                             sc-\/>\mbox{\hyperlink{structuftdi__softc_ab49838e9ea3beed28733b4c3e7084048}{sc\_hdrlen}}, \mbox{\hyperlink{uftdi_8c_a55a6fe345a38112ddc944db7b367ccd5}{UFTDI\_OPKTSIZE}} -\/ sc-\/>\mbox{\hyperlink{structuftdi__softc_ab49838e9ea3beed28733b4c3e7084048}{sc\_hdrlen}}, }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01241}01241                             \&pktlen) != 0) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01242}01242                                 buf[0] = \mbox{\hyperlink{uftdi__reg_8h_a9d9264286c4da3a95e1bcc0b2a785307}{FTDI\_OUT\_TAG}}(pktlen, }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01243}01243                                     sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01244}01244                                 \mbox{\hyperlink{usb__busdma_8c_accb7cd85c3477e50c1ba1b1489226d09}{usbd\_copy\_in}}(pc, buflen, buf, 1);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01245}01245                                 buflen += pktlen + sc-\/>\mbox{\hyperlink{structuftdi__softc_ab49838e9ea3beed28733b4c3e7084048}{sc\_hdrlen}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01246}01246                         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01247}01247                 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01248}01248                 \textcolor{keywordflow}{if} (buflen != 0) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01249}01249                         \mbox{\hyperlink{usb__transfer_8c_a31786497f0f4222203b1e993d52af753}{usbd\_xfer\_set\_frame\_len}}(xfer, 0, buflen);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01250}01250                         \mbox{\hyperlink{usb__transfer_8c_a10c440b0b97cac293b4df9d558f15bac}{usbd\_transfer\_submit}}(xfer);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01251}01251                 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01252}01252                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01253}01253         \textcolor{keywordflow}{default}:                        \textcolor{comment}{/* Error */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01254}01254                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} != \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945abe72c3e4b6644141519a28f1ef97f717}{USB\_ERR\_CANCELLED}}) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01255}01255                         \textcolor{comment}{/* try to clear stall first */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01256}01256                         \mbox{\hyperlink{usb__transfer_8c_abadf9cb2f8e81a5133af0c8030039de3}{usbd\_xfer\_set\_stall}}(xfer);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01257}01257                         \textcolor{keywordflow}{goto} tr\_setup;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01258}01258                 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01259}01259                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01260}01260         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01261}01261 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01262}01262 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01263}01263 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01264}\mbox{\hyperlink{uftdi_8c_a83792147cf2c808f147aa2cf40117c76}{01264}} \mbox{\hyperlink{uftdi_8c_ac58308e7d2876160632c68438850d8bd}{uftdi\_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{uftdi_8c_source_l01265}01265 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01266}01266         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = \mbox{\hyperlink{usb__transfer_8c_ab75ef6d82c4a000a3d16c133d1d589b0}{usbd\_xfer\_softc}}(xfer);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01267}01267         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__page__cache}{usb\_page\_cache}} *pc;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01268}01268         uint8\_t buf[2];}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01269}01269         uint8\_t ftdi\_msr;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01270}01270         uint8\_t msr;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01271}01271         uint8\_t lsr;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01272}01272         \textcolor{keywordtype}{int} buflen;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01273}01273         \textcolor{keywordtype}{int} pktlen;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01274}01274         \textcolor{keywordtype}{int} pktmax;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01275}01275         \textcolor{keywordtype}{int} \mbox{\hyperlink{usb__if_8m_ac681806181c80437cfab37335f62ff39}{offset}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01276}01276 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01277}01277         DPRINTFN(3, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01278}01278 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01279}01279         \mbox{\hyperlink{usb__transfer_8c_ac0c68320222f26c2a3eba47b46c47899}{usbd\_xfer\_status}}(xfer, \&buflen, NULL, NULL, NULL);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01280}01280 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01281}01281         \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usbdi_8h_adc2dd35bd0dd6a42d3abd4230796a7b0}{USB\_GET\_STATE}}(xfer)) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01282}01282         \textcolor{keywordflow}{case} \mbox{\hyperlink{usbdi_8h_a8f0386217ba77be3e47721fae9aa9b3d}{USB\_ST\_TRANSFERRED}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01283}01283                 \textcolor{keywordflow}{if} (buflen < \mbox{\hyperlink{uftdi_8c_a1c6bd61cbad736397e84f46cef56aae7}{UFTDI\_IHDRSIZE}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01284}01284                         \textcolor{keywordflow}{goto} tr\_setup;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01285}01285                 pc = \mbox{\hyperlink{usb__transfer_8c_a6e66695b916f0770a259bed959c21555}{usbd\_xfer\_get\_frame}}(xfer, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01286}01286                 pktmax = xfer-\/>\mbox{\hyperlink{structusb__xfer_aefcde8a630b7adefe68cc72e7e7a5bb5}{max\_packet\_size}} -\/ \mbox{\hyperlink{uftdi_8c_a1c6bd61cbad736397e84f46cef56aae7}{UFTDI\_IHDRSIZE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01287}01287                 lsr = 0;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01288}01288                 msr = 0;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01289}01289                 \mbox{\hyperlink{usb__if_8m_ac681806181c80437cfab37335f62ff39}{offset}} = 0;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01290}01290                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01291}01291 \textcolor{comment}{                 * Extract packet headers and payload bytes from the buffer.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01292}01292 \textcolor{comment}{                 * Feed payload bytes to ucom/tty layer; OR-\/accumulate the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01293}01293 \textcolor{comment}{                 * receiver-\/related header status bits which are transient and}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01294}01294 \textcolor{comment}{                 * could toggle with each packet, but for transmitter-\/related}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01295}01295 \textcolor{comment}{                 * bits keep only the ones from the last packet.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01296}01296 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01297}01297 \textcolor{comment}{                 * After processing all packets in the buffer, process the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01298}01298 \textcolor{comment}{                 * accumulated transient MSR and LSR values along with the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01299}01299 \textcolor{comment}{                 * non-\/transient bits from the last packet header.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01300}01300 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01301}01301                 \textcolor{keywordflow}{while} (buflen >= \mbox{\hyperlink{uftdi_8c_a1c6bd61cbad736397e84f46cef56aae7}{UFTDI\_IHDRSIZE}}) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01302}01302                         \mbox{\hyperlink{usb__busdma_8c_af52eece45b7868dbf58386f4c9e4eb9a}{usbd\_copy\_out}}(pc, \mbox{\hyperlink{usb__if_8m_ac681806181c80437cfab37335f62ff39}{offset}}, buf, \mbox{\hyperlink{uftdi_8c_a1c6bd61cbad736397e84f46cef56aae7}{UFTDI\_IHDRSIZE}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01303}01303                         \mbox{\hyperlink{usb__if_8m_ac681806181c80437cfab37335f62ff39}{offset}} += \mbox{\hyperlink{uftdi_8c_a1c6bd61cbad736397e84f46cef56aae7}{UFTDI\_IHDRSIZE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01304}01304                         buflen -\/= \mbox{\hyperlink{uftdi_8c_a1c6bd61cbad736397e84f46cef56aae7}{UFTDI\_IHDRSIZE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01305}01305                         lsr \&= \string~(\mbox{\hyperlink{usb__serial_8h_a0153ef62be43d8a4b6142b82630c2ea3}{ULSR\_TXRDY}} | \mbox{\hyperlink{usb__serial_8h_a0660f2402d57f3617f2191cc556d7e1d}{ULSR\_TSRE}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01306}01306                         lsr |= \mbox{\hyperlink{uftdi__reg_8h_a783f5bdcbf8f80df031dd506c415ae54}{FTDI\_GET\_LSR}}(buf);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01307}01307                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{uftdi__reg_8h_a4e85e5a8ae4a7f2823104e8032cce675}{FTDI\_GET\_MSR}}(buf) \& \mbox{\hyperlink{uftdi__reg_8h_ad817d85eb0f62257585caf7bb556aafb}{FTDI\_SIO\_RI\_MASK}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01308}01308                                 msr |= SER\_RI;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01309}01309                         pktlen = min(buflen, pktmax);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01310}01310                         \textcolor{keywordflow}{if} (pktlen != 0) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01311}01311                                 \mbox{\hyperlink{usb__serial_8c_af96494685ba012ad6a1c2e18b783e185}{ucom\_put\_data}}(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}, pc, \mbox{\hyperlink{usb__if_8m_ac681806181c80437cfab37335f62ff39}{offset}}, }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01312}01312                                     pktlen);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01313}01313                                 \mbox{\hyperlink{usb__if_8m_ac681806181c80437cfab37335f62ff39}{offset}} += pktlen;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01314}01314                                 buflen -\/= pktlen;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01315}01315                         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01316}01316                 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01317}01317                 ftdi\_msr = \mbox{\hyperlink{uftdi__reg_8h_a4e85e5a8ae4a7f2823104e8032cce675}{FTDI\_GET\_MSR}}(buf);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01318}01318 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01319}01319                 \textcolor{keywordflow}{if} (ftdi\_msr \& \mbox{\hyperlink{uftdi__reg_8h_a91bed54fb7aa0e99449effed2e330822}{FTDI\_SIO\_CTS\_MASK}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01320}01320                         msr |= SER\_CTS;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01321}01321                 \textcolor{keywordflow}{if} (ftdi\_msr \& \mbox{\hyperlink{uftdi__reg_8h_a3c495d7b1e010aa66a68066307c636dd}{FTDI\_SIO\_DSR\_MASK}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01322}01322                         msr |= SER\_DSR;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01323}01323                 \textcolor{keywordflow}{if} (ftdi\_msr \& \mbox{\hyperlink{uftdi__reg_8h_ad817d85eb0f62257585caf7bb556aafb}{FTDI\_SIO\_RI\_MASK}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01324}01324                         msr |= SER\_RI;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01325}01325                 \textcolor{keywordflow}{if} (ftdi\_msr \& \mbox{\hyperlink{uftdi__reg_8h_aeb09e7783acb50bd02981ce387ef8e7e}{FTDI\_SIO\_RLSD\_MASK}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01326}01326                         msr |= SER\_DCD;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01327}01327 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01328}01328                 \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structuftdi__softc_acd63e69af31c94ef6a87a32192bc5643}{sc\_msr}} != msr || sc-\/>\mbox{\hyperlink{structuftdi__softc_a787695fd37cb323a2ca8d709c9272761}{sc\_lsr}} != lsr) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01329}01329                         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}status change msr=0x\%02x (0x\%02x) "{}}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01330}01330                             \textcolor{stringliteral}{"{}lsr=0x\%02x (0x\%02x)\(\backslash\)n"{}}, msr, sc-\/>\mbox{\hyperlink{structuftdi__softc_acd63e69af31c94ef6a87a32192bc5643}{sc\_msr}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01331}01331                             lsr, sc-\/>\mbox{\hyperlink{structuftdi__softc_a787695fd37cb323a2ca8d709c9272761}{sc\_lsr}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01332}01332 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01333}01333                         sc-\/>\mbox{\hyperlink{structuftdi__softc_acd63e69af31c94ef6a87a32192bc5643}{sc\_msr}} = msr;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01334}01334                         sc-\/>\mbox{\hyperlink{structuftdi__softc_a787695fd37cb323a2ca8d709c9272761}{sc\_lsr}} = lsr;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01335}01335 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01336}01336                         \mbox{\hyperlink{usb__serial_8c_a0cb07518ed43ec742a628e47a9d97281}{ucom\_status\_change}}(\&sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01337}01337                 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01338}01338                 \textcolor{comment}{/* FALLTHROUGH */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01339}01339         \textcolor{keywordflow}{case} \mbox{\hyperlink{usbdi_8h_a3aa7120c3ecab31972b8fe219530f552}{USB\_ST\_SETUP}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01340}01340 tr\_setup:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01341}01341                 \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{uftdi_8c_source_l01342}01342                 \mbox{\hyperlink{usb__transfer_8c_a10c440b0b97cac293b4df9d558f15bac}{usbd\_transfer\_submit}}(xfer);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01343}01343                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01344}01344 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01345}01345         \textcolor{keywordflow}{default}:                        \textcolor{comment}{/* Error */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01346}01346                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} != \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945abe72c3e4b6644141519a28f1ef97f717}{USB\_ERR\_CANCELLED}}) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01347}01347                         \textcolor{comment}{/* try to clear stall first */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01348}01348                         \mbox{\hyperlink{usb__transfer_8c_abadf9cb2f8e81a5133af0c8030039de3}{usbd\_xfer\_set\_stall}}(xfer);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01349}01349                         \textcolor{keywordflow}{goto} tr\_setup;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01350}01350                 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01351}01351                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01352}01352         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01353}01353 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01354}01354 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01355}01355 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01356}\mbox{\hyperlink{uftdi_8c_ae17634e31100955348d41707ff95354a}{01356}} \mbox{\hyperlink{uftdi_8c_ae17634e31100955348d41707ff95354a}{uftdi\_cfg\_set\_dtr}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, uint8\_t onoff)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01357}01357 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01358}01358         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01359}01359         uint16\_t wIndex = ucom-\/>\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01360}01360         uint16\_t wValue;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01361}01361         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01362}01362 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01363}01363         DPRINTFN(2, \textcolor{stringliteral}{"{}DTR=\%u\(\backslash\)n"{}}, onoff);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01364}01364 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01365}01365         \mbox{\hyperlink{structusb__device__request_ad0edef8fa7a9c3e311e31ee68e928e50}{wValue}} = onoff ? \mbox{\hyperlink{uftdi__reg_8h_a6f781cb804f9754fe91ca90b78821482}{FTDI\_SIO\_SET\_DTR\_HIGH}} : \mbox{\hyperlink{uftdi__reg_8h_ab6ff468afcf80b382582d04633767f11}{FTDI\_SIO\_SET\_DTR\_LOW}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01366}01366 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01367}01367         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6aafebff48631e00449299005c4a858c}{UT\_WRITE\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01368}01368         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_a0a5515eba4af8c37b71db51de289b3b4}{FTDI\_SIO\_MODEM\_CTRL}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01369}01369         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, \mbox{\hyperlink{structusb__device__request_ad0edef8fa7a9c3e311e31ee68e928e50}{wValue}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01370}01370         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, \mbox{\hyperlink{structusb__device__request_acaec4689077fef056acade5ba134054a}{wIndex}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01371}01371         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01372}01372         \mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}, }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01373}01373             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL, 0, 1000);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01374}01374 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01375}01375 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01376}01376 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01377}\mbox{\hyperlink{uftdi_8c_ad823dac3cd2ccd74e60df1ca38f5a7f8}{01377}} \mbox{\hyperlink{uftdi_8c_ad823dac3cd2ccd74e60df1ca38f5a7f8}{uftdi\_cfg\_set\_rts}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, uint8\_t onoff)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01378}01378 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01379}01379         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01380}01380         uint16\_t wIndex = ucom-\/>\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01381}01381         uint16\_t wValue;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01382}01382         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01383}01383 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01384}01384         DPRINTFN(2, \textcolor{stringliteral}{"{}RTS=\%u\(\backslash\)n"{}}, onoff);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01385}01385 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01386}01386         \mbox{\hyperlink{structusb__device__request_ad0edef8fa7a9c3e311e31ee68e928e50}{wValue}} = onoff ? \mbox{\hyperlink{uftdi__reg_8h_a5b6822103572e1d583c7587103406eec}{FTDI\_SIO\_SET\_RTS\_HIGH}} : \mbox{\hyperlink{uftdi__reg_8h_a4990d64ac8d725be89527a6dc21bd6c5}{FTDI\_SIO\_SET\_RTS\_LOW}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01387}01387 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01388}01388         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6aafebff48631e00449299005c4a858c}{UT\_WRITE\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01389}01389         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_a0a5515eba4af8c37b71db51de289b3b4}{FTDI\_SIO\_MODEM\_CTRL}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01390}01390         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, \mbox{\hyperlink{structusb__device__request_ad0edef8fa7a9c3e311e31ee68e928e50}{wValue}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01391}01391         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, \mbox{\hyperlink{structusb__device__request_acaec4689077fef056acade5ba134054a}{wIndex}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01392}01392         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01393}01393         \mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}, }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01394}01394             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL, 0, 1000);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01395}01395 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01396}01396 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01397}01397 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01398}\mbox{\hyperlink{uftdi_8c_ae04992191c2c98129f6596a3d9560d78}{01398}} \mbox{\hyperlink{uftdi_8c_ae04992191c2c98129f6596a3d9560d78}{uftdi\_cfg\_set\_break}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, uint8\_t onoff)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01399}01399 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01400}01400         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01401}01401         uint16\_t wIndex = ucom-\/>\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01402}01402         uint16\_t wValue;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01403}01403         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01404}01404 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01405}01405         DPRINTFN(2, \textcolor{stringliteral}{"{}BREAK=\%u\(\backslash\)n"{}}, onoff);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01406}01406 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01407}01407         \textcolor{keywordflow}{if} (onoff) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01408}01408                 sc-\/>\mbox{\hyperlink{structuftdi__softc_a4afebb4a1c4eb58c49b07db490289f40}{sc\_last\_lcr}} |= \mbox{\hyperlink{uftdi__reg_8h_a05cebcdf1d7563fe77df8f1a0280086d}{FTDI\_SIO\_SET\_BREAK}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01409}01409         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01410}01410                 sc-\/>\mbox{\hyperlink{structuftdi__softc_a4afebb4a1c4eb58c49b07db490289f40}{sc\_last\_lcr}} \&= \string~FTDI\_SIO\_SET\_BREAK;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01411}01411         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01412}01412 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01413}01413         \mbox{\hyperlink{structusb__device__request_ad0edef8fa7a9c3e311e31ee68e928e50}{wValue}} = sc-\/>\mbox{\hyperlink{structuftdi__softc_a4afebb4a1c4eb58c49b07db490289f40}{sc\_last\_lcr}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01414}01414 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01415}01415         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6aafebff48631e00449299005c4a858c}{UT\_WRITE\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01416}01416         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_ac7603bf715c4b1281f8e5907d0a61e0f}{FTDI\_SIO\_SET\_DATA}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01417}01417         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, \mbox{\hyperlink{structusb__device__request_ad0edef8fa7a9c3e311e31ee68e928e50}{wValue}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01418}01418         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, \mbox{\hyperlink{structusb__device__request_acaec4689077fef056acade5ba134054a}{wIndex}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01419}01419         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01420}01420         \mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}, }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01421}01421             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL, 0, 1000);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01422}01422 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01423}01423 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01424}01424 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01425}01425 \textcolor{comment}{ * Return true if the given speed is within operational tolerance of the target}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01426}01426 \textcolor{comment}{ * speed.  FTDI recommends that the hardware speed be within 3\% of nominal.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01427}01427 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01428}01428 \textcolor{keyword}{static} \textcolor{keyword}{inline} boolean\_t}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01429}\mbox{\hyperlink{uftdi_8c_a4a8f1c1162e7709408e59ab045e8a7ac}{01429}} \mbox{\hyperlink{uftdi_8c_a4a8f1c1162e7709408e59ab045e8a7ac}{uftdi\_baud\_within\_tolerance}}(uint64\_t speed, uint64\_t target)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01430}01430 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01431}01431         \textcolor{keywordflow}{return} ((speed >= (target * 100) / 103) \&\&}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01432}01432             (speed <= (target * 100) / 97));}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01433}01433 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01434}01434 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01435}01435 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01436}\mbox{\hyperlink{uftdi_8c_a4bb652a9dd081d4978d33e76bad6fba8}{01436}} \mbox{\hyperlink{uftdi_8c_a4bb652a9dd081d4978d33e76bad6fba8}{uftdi\_sio\_encode\_baudrate}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc, speed\_t speed,}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01437}01437         \textcolor{keyword}{struct} \mbox{\hyperlink{structuftdi__param__config}{uftdi\_param\_config}} *cfg)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01438}01438 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01439}01439         u\_int i;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01440}01440         \textcolor{keyword}{const} speed\_t sio\_speeds[] = \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01441}01441                 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01442}01442         \};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01443}01443 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01444}01444         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01445}01445 \textcolor{comment}{         * The original SIO chips were limited to a small choice of speeds}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01446}01446 \textcolor{comment}{         * listed in an internal table of speeds chosen by an index value.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01447}01447 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01448}01448         \textcolor{keywordflow}{for} (i = 0; i < nitems(sio\_speeds); ++i) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01449}01449                 \textcolor{keywordflow}{if} (speed == sio\_speeds[i]) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01450}01450                         cfg-\/>\mbox{\hyperlink{structuftdi__param__config_aad2eb7371bb0d56ebb4be066de0d88e6}{baud\_lobits}} = i;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01451}01451                         cfg-\/>\mbox{\hyperlink{structuftdi__param__config_a8e954d6efaca52df0b0cc040d6229134}{baud\_hibits}} = 0;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01452}01452                         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01453}01453                 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01454}01454         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01455}01455         \textcolor{keywordflow}{return} (ERANGE);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01456}01456 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01457}01457 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01458}01458 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01459}\mbox{\hyperlink{uftdi_8c_a39b0e9b3fd831d134aa24f0589e34c3b}{01459}} \mbox{\hyperlink{uftdi_8c_a39b0e9b3fd831d134aa24f0589e34c3b}{uftdi\_encode\_baudrate}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc, speed\_t speed,}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01460}01460         \textcolor{keyword}{struct} \mbox{\hyperlink{structuftdi__param__config}{uftdi\_param\_config}} *cfg)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01461}01461 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01462}01462         \textcolor{keyword}{static} \textcolor{keyword}{const} uint8\_t encoded\_fraction[8] = \{0, 3, 2, 4, 1, 5, 6, 7\};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01463}01463         \textcolor{keyword}{static} \textcolor{keyword}{const} uint8\_t roundoff\_232a[16] = \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01464}01464                 0,  1,  0,  1,  0, -\/1,  2,  1,}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01465}01465                 0, -\/1, -\/2, -\/3,  4,  3,  2,  1,}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01466}01466         \};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01467}01467         uint32\_t clk, divisor, fastclk\_flag, frac, hwspeed;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01468}01468 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01469}01469         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01470}01470 \textcolor{comment}{         * If this chip has the fast clock capability and the speed is within}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01471}01471 \textcolor{comment}{         * range, use the 12MHz clock, otherwise the standard clock is 3MHz.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01472}01472 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01473}01473         \textcolor{keywordflow}{if} ((sc-\/>\mbox{\hyperlink{structuftdi__softc_ab9c4faf95b351dfdefc09b8d83fadf7b}{sc\_devflags}} \& \mbox{\hyperlink{uftdi_8c_ad04852e68ada05d77c4d0f0703604856}{DEVF\_BAUDCLK\_12M}}) \&\& speed >= 1200) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01474}01474                 clk = 12000000;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01475}01475                 fastclk\_flag = (1 << 17);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01476}01476         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01477}01477                 clk = 3000000;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01478}01478                 fastclk\_flag = 0;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01479}01479         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01480}01480 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01481}01481         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01482}01482 \textcolor{comment}{         * Make sure the requested speed is reachable with the available clock}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01483}01483 \textcolor{comment}{         * and a 14-\/bit divisor.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01484}01484 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01485}01485         \textcolor{keywordflow}{if} (speed < (clk >> 14) || speed > clk)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01486}01486                 \textcolor{keywordflow}{return} (ERANGE);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01487}01487 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01488}01488         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01489}01489 \textcolor{comment}{         * Calculate the divisor, initially yielding a fixed point number with a}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01490}01490 \textcolor{comment}{         * 4-\/bit (1/16ths) fraction, then round it to the nearest fraction the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01491}01491 \textcolor{comment}{         * hardware can handle.  When the integral part of the divisor is}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01492}01492 \textcolor{comment}{         * greater than one, the fractional part is in 1/8ths of the base clock.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01493}01493 \textcolor{comment}{         * The FT8U232AM chips can handle only 0.125, 0.250, and 0.5 fractions.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01494}01494 \textcolor{comment}{         * Later chips can handle all 1/8th fractions.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01495}01495 \textcolor{comment}{         *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01496}01496 \textcolor{comment}{         * If the integral part of the divisor is 1, a special rule applies: the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01497}01497 \textcolor{comment}{         * fractional part can only be .0 or .5 (this is a limitation of the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01498}01498 \textcolor{comment}{         * hardware).  We handle this by truncating the fraction rather than}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01499}01499 \textcolor{comment}{         * rounding, because this only applies to the two fastest speeds the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01500}01500 \textcolor{comment}{         * chip can achieve and rounding doesn't matter, either you've asked for}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01501}01501 \textcolor{comment}{         * that exact speed or you've asked for something the chip can't do.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01502}01502 \textcolor{comment}{         *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01503}01503 \textcolor{comment}{         * For the FT8U232AM chips, use a roundoff table to adjust the result}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01504}01504 \textcolor{comment}{         * to the nearest 1/8th fraction that is supported by the hardware,}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01505}01505 \textcolor{comment}{         * leaving a fixed-\/point number with a 3-\/bit fraction which exactly}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01506}01506 \textcolor{comment}{         * represents the math the hardware divider will do.  For later-\/series}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01507}01507 \textcolor{comment}{         * chips that support all 8 fractional divisors, just round 16ths to}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01508}01508 \textcolor{comment}{         * 8ths by adding 1 and dividing by 2.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01509}01509 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01510}01510         divisor = (clk << 4) / speed;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01511}01511         \textcolor{keywordflow}{if} ((divisor \& 0xf) == 1)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01512}01512                 divisor \&= 0xfffffff8;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01513}01513         \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}} == \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca91a13f5975de0bb6cf6fa65e2463900a}{DEVT\_232A}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01514}01514                 divisor += roundoff\_232a[divisor \& 0x0f];}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01515}01515         \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01516}01516                 divisor += 1;  \textcolor{comment}{/* Rounds odd 16ths up to next 8th. */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01517}01517         divisor >>= 1;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01518}01518 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01519}01519         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01520}01520 \textcolor{comment}{         * Ensure the resulting hardware speed will be within operational}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01521}01521 \textcolor{comment}{         * tolerance (within 3\% of nominal).}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01522}01522 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01523}01523         hwspeed = (clk << 3) / divisor;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01524}01524         \textcolor{keywordflow}{if} (!\mbox{\hyperlink{uftdi_8c_a4a8f1c1162e7709408e59ab045e8a7ac}{uftdi\_baud\_within\_tolerance}}(hwspeed, speed))}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01525}01525                 \textcolor{keywordflow}{return} (ERANGE);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01526}01526 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01527}01527         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01528}01528 \textcolor{comment}{         * Re-\/pack the divisor into hardware format. The lower 14-\/bits hold the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01529}01529 \textcolor{comment}{         * integral part, while the upper bits specify the fraction by indexing}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01530}01530 \textcolor{comment}{         * a table of fractions within the hardware which is laid out as:}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01531}01531 \textcolor{comment}{         *    \{0.0, 0.5, 0.25, 0.125, 0.325, 0.625, 0.725, 0.875\}}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01532}01532 \textcolor{comment}{         * The A-\/series chips only have the first four table entries; the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01533}01533 \textcolor{comment}{         * roundoff table logic above ensures that the fractional part for those}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01534}01534 \textcolor{comment}{         * chips will be one of the first four values.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01535}01535 \textcolor{comment}{         *}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01536}01536 \textcolor{comment}{         * When the divisor is 1 a special encoding applies:  1.0 is encoded as}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01537}01537 \textcolor{comment}{         * 0.0, and 1.5 is encoded as 1.0.  The rounding logic above has already}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01538}01538 \textcolor{comment}{         * ensured that the fraction is either .0 or .5 if the integral is 1.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01539}01539 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01540}01540         frac = divisor \& 0x07;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01541}01541         divisor >>= 3;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01542}01542         \textcolor{keywordflow}{if} (divisor == 1) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01543}01543                 \textcolor{keywordflow}{if} (frac == 0)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01544}01544                         divisor = 0;  \textcolor{comment}{/* 1.0 becomes 0.0 */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01545}01545                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01546}01546                         frac = 0;     \textcolor{comment}{/* 1.5 becomes 1.0 */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01547}01547         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01548}01548         divisor |= (encoded\_fraction[frac] << 14) | fastclk\_flag;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01549}01549         }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01550}01550         cfg-\/>\mbox{\hyperlink{structuftdi__param__config_aad2eb7371bb0d56ebb4be066de0d88e6}{baud\_lobits}} = (uint16\_t)divisor;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01551}01551         cfg-\/>\mbox{\hyperlink{structuftdi__param__config_a8e954d6efaca52df0b0cc040d6229134}{baud\_hibits}} = (uint16\_t)(divisor >> 16);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01552}01552 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01553}01553         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01554}01554 \textcolor{comment}{         * If this chip requires the baud bits to be in the high byte of the}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01555}01555 \textcolor{comment}{         * index word, move the bits up to that location.}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01556}01556 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01557}01557         \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structuftdi__softc_ab9c4faf95b351dfdefc09b8d83fadf7b}{sc\_devflags}} \& \mbox{\hyperlink{uftdi_8c_a8616d0106bac1773d1c16959fdf1b2cc}{DEVF\_BAUDBITS\_HINDEX}}) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01558}01558                 cfg-\/>\mbox{\hyperlink{structuftdi__param__config_a8e954d6efaca52df0b0cc040d6229134}{baud\_hibits}} <<= 8;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01559}01559         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01560}01560 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01561}01561         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01562}01562 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01563}01563 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01564}01564 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01565}\mbox{\hyperlink{uftdi_8c_af7ac3b9773a470d602d59f18bad66117}{01565}} \mbox{\hyperlink{uftdi_8c_af7ac3b9773a470d602d59f18bad66117}{uftdi\_set\_parm\_soft}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, \textcolor{keyword}{struct} termios *t,}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01566}01566     \textcolor{keyword}{struct} \mbox{\hyperlink{structuftdi__param__config}{uftdi\_param\_config}} *cfg)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01567}01567 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01568}01568         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01569}01569         \textcolor{keywordtype}{int} err;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01570}01570 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01571}01571         memset(cfg, 0, \textcolor{keyword}{sizeof}(*cfg));}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01572}01572 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01573}01573         \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structuftdi__softc_aed1cbec9cb3b013e566d276c40fb36a5}{sc\_devtype}} == \mbox{\hyperlink{uftdi_8c_a1be3860693af99a6c1da72580097294ca7b3db98dc55022650a9cac9fb42be470}{DEVT\_SIO}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01574}01574                 err = \mbox{\hyperlink{uftdi_8c_a4bb652a9dd081d4978d33e76bad6fba8}{uftdi\_sio\_encode\_baudrate}}(sc, t-\/>c\_ospeed, cfg);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01575}01575         \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01576}01576                 err = \mbox{\hyperlink{uftdi_8c_a39b0e9b3fd831d134aa24f0589e34c3b}{uftdi\_encode\_baudrate}}(sc, t-\/>c\_ospeed, cfg);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01577}01577         \textcolor{keywordflow}{if} (err != 0)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01578}01578                 \textcolor{keywordflow}{return} (err);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01579}01579 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01580}01580         \textcolor{keywordflow}{if} (t-\/>c\_cflag \& CSTOPB)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01581}01581                 cfg-\/>\mbox{\hyperlink{structuftdi__param__config_ad6b125d9da1cfe028a686cf699903302}{lcr}} = \mbox{\hyperlink{uftdi__reg_8h_acd6333c509f4f1fa3d44d3077ae9c7df}{FTDI\_SIO\_SET\_DATA\_STOP\_BITS\_2}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01582}01582         \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01583}01583                 cfg-\/>\mbox{\hyperlink{structuftdi__param__config_ad6b125d9da1cfe028a686cf699903302}{lcr}} = \mbox{\hyperlink{uftdi__reg_8h_ae4c01efa00c78a56989fe8bc9ba5eac6}{FTDI\_SIO\_SET\_DATA\_STOP\_BITS\_1}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01584}01584 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01585}01585         \textcolor{keywordflow}{if} (t-\/>c\_cflag \& PARENB) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01586}01586                 \textcolor{keywordflow}{if} (t-\/>c\_cflag \& PARODD) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01587}01587                         cfg-\/>\mbox{\hyperlink{structuftdi__param__config_ad6b125d9da1cfe028a686cf699903302}{lcr}} |= \mbox{\hyperlink{uftdi__reg_8h_a3b8f65480530dc9a12240655a77a23e6}{FTDI\_SIO\_SET\_DATA\_PARITY\_ODD}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01588}01588                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01589}01589                         cfg-\/>\mbox{\hyperlink{structuftdi__param__config_ad6b125d9da1cfe028a686cf699903302}{lcr}} |= \mbox{\hyperlink{uftdi__reg_8h_ac38ca9725e25bbe4d6234438bedd8275}{FTDI\_SIO\_SET\_DATA\_PARITY\_EVEN}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01590}01590                 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01591}01591         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01592}01592                 cfg-\/>\mbox{\hyperlink{structuftdi__param__config_ad6b125d9da1cfe028a686cf699903302}{lcr}} |= \mbox{\hyperlink{uftdi__reg_8h_a1d3b7a2a5e8a5cb449ced0025c5304e3}{FTDI\_SIO\_SET\_DATA\_PARITY\_NONE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01593}01593         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01594}01594 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01595}01595         \textcolor{keywordflow}{switch} (t-\/>c\_cflag \& CSIZE) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01596}01596         \textcolor{keywordflow}{case} CS5:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01597}01597                 cfg-\/>\mbox{\hyperlink{structuftdi__param__config_ad6b125d9da1cfe028a686cf699903302}{lcr}} |= \mbox{\hyperlink{uftdi__reg_8h_a99c4727608a4621f934c2a74c6ba8199}{FTDI\_SIO\_SET\_DATA\_BITS}}(5);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01598}01598                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01599}01599 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01600}01600         \textcolor{keywordflow}{case} CS6:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01601}01601                 cfg-\/>\mbox{\hyperlink{structuftdi__param__config_ad6b125d9da1cfe028a686cf699903302}{lcr}} |= \mbox{\hyperlink{uftdi__reg_8h_a99c4727608a4621f934c2a74c6ba8199}{FTDI\_SIO\_SET\_DATA\_BITS}}(6);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01602}01602                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01603}01603 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01604}01604         \textcolor{keywordflow}{case} CS7:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01605}01605                 cfg-\/>\mbox{\hyperlink{structuftdi__param__config_ad6b125d9da1cfe028a686cf699903302}{lcr}} |= \mbox{\hyperlink{uftdi__reg_8h_a99c4727608a4621f934c2a74c6ba8199}{FTDI\_SIO\_SET\_DATA\_BITS}}(7);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01606}01606                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01607}01607 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01608}01608         \textcolor{keywordflow}{case} CS8:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01609}01609                 cfg-\/>\mbox{\hyperlink{structuftdi__param__config_ad6b125d9da1cfe028a686cf699903302}{lcr}} |= \mbox{\hyperlink{uftdi__reg_8h_a99c4727608a4621f934c2a74c6ba8199}{FTDI\_SIO\_SET\_DATA\_BITS}}(8);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01610}01610                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01611}01611         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01612}01612 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01613}01613         \textcolor{keywordflow}{if} (t-\/>c\_cflag \& CRTSCTS) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01614}01614                 cfg-\/>\mbox{\hyperlink{structuftdi__param__config_ac9b207e9bb047433342f2c9f074bf04f}{v\_flow}} = \mbox{\hyperlink{uftdi__reg_8h_af5cdb59ccbb8eba190eca16cb74bddcb}{FTDI\_SIO\_RTS\_CTS\_HS}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01615}01615         \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (t-\/>c\_iflag \& (IXON | IXOFF)) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01616}01616                 cfg-\/>\mbox{\hyperlink{structuftdi__param__config_ac9b207e9bb047433342f2c9f074bf04f}{v\_flow}} = \mbox{\hyperlink{uftdi__reg_8h_a082065ffd54c708f8c632d3454045809}{FTDI\_SIO\_XON\_XOFF\_HS}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01617}01617                 cfg-\/>\mbox{\hyperlink{structuftdi__param__config_abb6f837c94e47092766aa4886c3128b9}{v\_start}} = t-\/>c\_cc[VSTART];}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01618}01618                 cfg-\/>\mbox{\hyperlink{structuftdi__param__config_a2f841128667458cc146d83dfbade2112}{v\_stop}} = t-\/>c\_cc[VSTOP];}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01619}01619         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01620}01620                 cfg-\/>\mbox{\hyperlink{structuftdi__param__config_ac9b207e9bb047433342f2c9f074bf04f}{v\_flow}} = \mbox{\hyperlink{uftdi__reg_8h_a7d0d35ef22b504afd608531c8e5275a0}{FTDI\_SIO\_DISABLE\_FLOW\_CTRL}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01621}01621         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01622}01622 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01623}01623         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01624}01624 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01625}01625 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01626}01626 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01627}\mbox{\hyperlink{uftdi_8c_a198e878a1d1d0f9cf62208ef37ba4857}{01627}} \mbox{\hyperlink{uftdi_8c_a198e878a1d1d0f9cf62208ef37ba4857}{uftdi\_pre\_param}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, \textcolor{keyword}{struct} termios *t)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01628}01628 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01629}01629         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__param__config}{uftdi\_param\_config}} cfg;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01630}01630 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01631}01631         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01632}01632 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01633}01633         \textcolor{keywordflow}{return} (\mbox{\hyperlink{uftdi_8c_af7ac3b9773a470d602d59f18bad66117}{uftdi\_set\_parm\_soft}}(ucom, t, \&cfg));}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01634}01634 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01635}01635 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01636}01636 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01637}\mbox{\hyperlink{uftdi_8c_a3d419de9ac97f0d588fd503a45e6e4da}{01637}} \mbox{\hyperlink{uftdi_8c_a3d419de9ac97f0d588fd503a45e6e4da}{uftdi\_cfg\_param}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, \textcolor{keyword}{struct} termios *t)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01638}01638 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01639}01639         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01640}01640         uint16\_t wIndex = ucom-\/>\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01641}01641         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__param__config}{uftdi\_param\_config}} cfg;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01642}01642         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01643}01643 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01644}01644         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01645}01645 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01646}01646         \textcolor{keywordflow}{if} (\mbox{\hyperlink{uftdi_8c_af7ac3b9773a470d602d59f18bad66117}{uftdi\_set\_parm\_soft}}(ucom, t, \&cfg)) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01647}01647                 \textcolor{comment}{/* should not happen */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01648}01648                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01649}01649         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01650}01650         sc-\/>\mbox{\hyperlink{structuftdi__softc_a4afebb4a1c4eb58c49b07db490289f40}{sc\_last\_lcr}} = cfg.\mbox{\hyperlink{structuftdi__param__config_ad6b125d9da1cfe028a686cf699903302}{lcr}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01651}01651 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01652}01652         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6aafebff48631e00449299005c4a858c}{UT\_WRITE\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01653}01653         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_aeb562ba85606fa0e08fc188705098f0d}{FTDI\_SIO\_SET\_BAUD\_RATE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01654}01654         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, cfg.\mbox{\hyperlink{structuftdi__param__config_aad2eb7371bb0d56ebb4be066de0d88e6}{baud\_lobits}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01655}01655         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, cfg.\mbox{\hyperlink{structuftdi__param__config_a8e954d6efaca52df0b0cc040d6229134}{baud\_hibits}} | \mbox{\hyperlink{structusb__device__request_acaec4689077fef056acade5ba134054a}{wIndex}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01656}01656         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01657}01657         \mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}, }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01658}01658             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL, 0, 1000);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01659}01659 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01660}01660         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6aafebff48631e00449299005c4a858c}{UT\_WRITE\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01661}01661         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_ac7603bf715c4b1281f8e5907d0a61e0f}{FTDI\_SIO\_SET\_DATA}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01662}01662         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, cfg.\mbox{\hyperlink{structuftdi__param__config_ad6b125d9da1cfe028a686cf699903302}{lcr}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01663}01663         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, \mbox{\hyperlink{structusb__device__request_acaec4689077fef056acade5ba134054a}{wIndex}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01664}01664         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01665}01665         \mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}, }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01666}01666             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL, 0, 1000);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01667}01667 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01668}01668         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6aafebff48631e00449299005c4a858c}{UT\_WRITE\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01669}01669         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_abdb21a829e0aca82178834602e34be7f}{FTDI\_SIO\_SET\_FLOW\_CTRL}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01670}01670         \mbox{\hyperlink{usb__endian_8h_a202f07612d9f9d4b3a1a89bd21b20012}{USETW2}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, cfg.\mbox{\hyperlink{structuftdi__param__config_a2f841128667458cc146d83dfbade2112}{v\_stop}}, cfg.\mbox{\hyperlink{structuftdi__param__config_abb6f837c94e47092766aa4886c3128b9}{v\_start}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01671}01671         \mbox{\hyperlink{usb__endian_8h_a202f07612d9f9d4b3a1a89bd21b20012}{USETW2}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, cfg.\mbox{\hyperlink{structuftdi__param__config_ac9b207e9bb047433342f2c9f074bf04f}{v\_flow}}, \mbox{\hyperlink{structusb__device__request_acaec4689077fef056acade5ba134054a}{wIndex}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01672}01672         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01673}01673         \mbox{\hyperlink{usb__serial_8h_aef1b97ecbf82451d6b353c561648b24f}{ucom\_cfg\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}, }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01674}01674             \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL, 0, 1000);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01675}01675 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01676}01676 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01677}01677 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01678}\mbox{\hyperlink{uftdi_8c_a7ba485f0ec3fe9e93c5d9f983d1e9efc}{01678}} \mbox{\hyperlink{uftdi_8c_a7ba485f0ec3fe9e93c5d9f983d1e9efc}{uftdi\_cfg\_get\_status}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, uint8\_t *lsr, uint8\_t *msr)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01679}01679 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01680}01680         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01681}01681 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01682}01682         DPRINTFN(3, \textcolor{stringliteral}{"{}msr=0x\%02x lsr=0x\%02x\(\backslash\)n"{}}, sc-\/>\mbox{\hyperlink{structuftdi__softc_acd63e69af31c94ef6a87a32192bc5643}{sc\_msr}}, sc-\/>\mbox{\hyperlink{structuftdi__softc_a787695fd37cb323a2ca8d709c9272761}{sc\_lsr}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01683}01683 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01684}01684         *msr = sc-\/>\mbox{\hyperlink{structuftdi__softc_acd63e69af31c94ef6a87a32192bc5643}{sc\_msr}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01685}01685         *lsr = sc-\/>\mbox{\hyperlink{structuftdi__softc_a787695fd37cb323a2ca8d709c9272761}{sc\_lsr}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01686}01686 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01687}01687 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01688}01688 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01689}\mbox{\hyperlink{uftdi_8c_ac0309271f71cf8603b65ed56ad4ea8c1}{01689}} \mbox{\hyperlink{uftdi_8c_ac0309271f71cf8603b65ed56ad4ea8c1}{uftdi\_reset}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, \textcolor{keywordtype}{int} reset\_type)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01690}01690 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01691}01691         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01692}01692         \mbox{\hyperlink{structusb__device__request}{usb\_device\_request\_t}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01693}01693 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01694}01694         DPRINTFN(2, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01695}01695 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01696}01696         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6aafebff48631e00449299005c4a858c}{UT\_WRITE\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01697}01697         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_a0c4ac1b95162aa3c959931bc46aa762c}{FTDI\_SIO\_RESET}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01698}01698 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01699}01699         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01700}01700         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01701}01701         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, reset\_type);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01702}01702 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01703}01703         \textcolor{keywordflow}{return} (\mbox{\hyperlink{usbdi_8h_adf0c9751da27fa2e6a3b52a9bfd5f7d1}{usbd\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}}, \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL));}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01704}01704 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01705}01705 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01706}01706 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01707}\mbox{\hyperlink{uftdi_8c_a6728e5d139cd6d0dff82887e145d784d}{01707}} \mbox{\hyperlink{uftdi_8c_a6728e5d139cd6d0dff82887e145d784d}{uftdi\_set\_bitmode}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, uint8\_t bitmode, uint8\_t iomask)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01708}01708 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01709}01709         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01710}01710         \mbox{\hyperlink{structusb__device__request}{usb\_device\_request\_t}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01711}01711         \textcolor{keywordtype}{int} rv;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01712}01712 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01713}01713         DPRINTFN(2, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01714}01714 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01715}01715         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6aafebff48631e00449299005c4a858c}{UT\_WRITE\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01716}01716         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_a9c75935cec435127eb07a629e1ecbdd0}{FTDI\_SIO\_SET\_BITMODE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01717}01717 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01718}01718         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01719}01719         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01720}01720 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01721}01721         \textcolor{keywordflow}{if} (bitmode == \mbox{\hyperlink{uftdiio_8h_ad8f7267ef2597ca3494fb3755a9f96faa3ffe9dc98c9554ad924b751681fae208}{UFTDI\_BITMODE\_NONE}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01722}01722             \mbox{\hyperlink{usb__endian_8h_a202f07612d9f9d4b3a1a89bd21b20012}{USETW2}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, 0, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01723}01723         \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01724}01724             \mbox{\hyperlink{usb__endian_8h_a202f07612d9f9d4b3a1a89bd21b20012}{USETW2}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, (1 << bitmode), iomask);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01725}01725 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01726}01726         rv = \mbox{\hyperlink{usbdi_8h_adf0c9751da27fa2e6a3b52a9bfd5f7d1}{usbd\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}}, \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01727}01727         \textcolor{keywordflow}{if} (rv == \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945a01e440e0629669433dd14bc477757c74}{USB\_ERR\_NORMAL\_COMPLETION}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01728}01728                 sc-\/>\mbox{\hyperlink{structuftdi__softc_ac7817a96016cdad6e76514b80a387fcc}{sc\_bitmode}} = bitmode;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01729}01729 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01730}01730         \textcolor{keywordflow}{return} (rv);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01731}01731 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01732}01732 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01733}01733 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01734}\mbox{\hyperlink{uftdi_8c_a0c92134c0cec12a3a278243d5b27899e}{01734}} \mbox{\hyperlink{uftdi_8c_a0c92134c0cec12a3a278243d5b27899e}{uftdi\_get\_bitmode}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, uint8\_t *bitmode, uint8\_t *iomask)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01735}01735 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01736}01736         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01737}01737         \mbox{\hyperlink{structusb__device__request}{usb\_device\_request\_t}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01738}01738 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01739}01739         DPRINTFN(2, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01740}01740 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01741}01741         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6da49500e864a3c33c9eed3dd49d3e59}{UT\_READ\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01742}01742         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_a5590286b8a9be1ef3fb08e993c273b8b}{FTDI\_SIO\_GET\_BITMODE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01743}01743 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01744}01744         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01745}01745         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 1);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01746}01746         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue,  0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01747}01747 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01748}01748         *bitmode = sc-\/>\mbox{\hyperlink{structuftdi__softc_ac7817a96016cdad6e76514b80a387fcc}{sc\_bitmode}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01749}01749         \textcolor{keywordflow}{return} (\mbox{\hyperlink{usbdi_8h_adf0c9751da27fa2e6a3b52a9bfd5f7d1}{usbd\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}}, \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, iomask));}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01750}01750 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01751}01751 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01752}01752 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01753}\mbox{\hyperlink{uftdi_8c_a958c34dc06829bc3d7d53e351d961e6f}{01753}} \mbox{\hyperlink{uftdi_8c_a958c34dc06829bc3d7d53e351d961e6f}{uftdi\_set\_latency}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, \textcolor{keywordtype}{int} latency)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01754}01754 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01755}01755         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01756}01756         \mbox{\hyperlink{structusb__device__request}{usb\_device\_request\_t}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01757}01757 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01758}01758         DPRINTFN(2, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01759}01759 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01760}01760         \textcolor{keywordflow}{if} (latency < 0 || latency > 255)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01761}01761                 \textcolor{keywordflow}{return} (\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945ac568d752239d287fca75588222df1bdf}{USB\_ERR\_INVAL}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01762}01762 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01763}01763         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6aafebff48631e00449299005c4a858c}{UT\_WRITE\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01764}01764         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_a8019ff04c9cf2d797904e2e955fd34cb}{FTDI\_SIO\_SET\_LATENCY}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01765}01765 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01766}01766         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01767}01767         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01768}01768         \mbox{\hyperlink{usb__endian_8h_a202f07612d9f9d4b3a1a89bd21b20012}{USETW2}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, 0, latency);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01769}01769 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01770}01770         \textcolor{keywordflow}{return} (\mbox{\hyperlink{usbdi_8h_adf0c9751da27fa2e6a3b52a9bfd5f7d1}{usbd\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}}, \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL));}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01771}01771 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01772}01772 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01773}01773 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01774}\mbox{\hyperlink{uftdi_8c_ad3c4e72c09c66afd3b4e12ba7e21a3b7}{01774}} \mbox{\hyperlink{uftdi_8c_ad3c4e72c09c66afd3b4e12ba7e21a3b7}{uftdi\_get\_latency}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, \textcolor{keywordtype}{int} *latency)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01775}01775 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01776}01776         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01777}01777         \mbox{\hyperlink{structusb__device__request}{usb\_device\_request\_t}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01778}01778         \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}} err;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01779}01779         uint8\_t buf;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01780}01780 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01781}01781         DPRINTFN(2, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01782}01782 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01783}01783         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6da49500e864a3c33c9eed3dd49d3e59}{UT\_READ\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01784}01784         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_a168a39dd4477d03b7378e43550a216e7}{FTDI\_SIO\_GET\_LATENCY}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01785}01785 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01786}01786         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01787}01787         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 1);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01788}01788         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01789}01789 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01790}01790         err = \mbox{\hyperlink{usbdi_8h_adf0c9751da27fa2e6a3b52a9bfd5f7d1}{usbd\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}}, \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, \&buf);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01791}01791         *latency = buf;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01792}01792 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01793}01793         \textcolor{keywordflow}{return} (err);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01794}01794 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01795}01795 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01796}01796 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01797}\mbox{\hyperlink{uftdi_8c_a153878e6ec0bfd9069924d600c7e5923}{01797}} \mbox{\hyperlink{uftdi_8c_a153878e6ec0bfd9069924d600c7e5923}{uftdi\_set\_event\_char}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, \textcolor{keywordtype}{int} echar)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01798}01798 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01799}01799         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01800}01800         \mbox{\hyperlink{structusb__device__request}{usb\_device\_request\_t}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01801}01801         uint8\_t enable;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01802}01802 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01803}01803         DPRINTFN(2, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01804}01804 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01805}01805         enable = (echar == -\/1) ? 0 : 1;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01806}01806 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01807}01807         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6aafebff48631e00449299005c4a858c}{UT\_WRITE\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01808}01808         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_af9f8c0df356ae4c9cf44656ea7c9ed5d}{FTDI\_SIO\_SET\_EVENT\_CHAR}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01809}01809 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01810}01810         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01811}01811         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01812}01812         \mbox{\hyperlink{usb__endian_8h_a202f07612d9f9d4b3a1a89bd21b20012}{USETW2}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, enable, echar \& 0xff);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01813}01813 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01814}01814         \textcolor{keywordflow}{return} (\mbox{\hyperlink{usbdi_8h_adf0c9751da27fa2e6a3b52a9bfd5f7d1}{usbd\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}}, \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL));}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01815}01815 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01816}01816 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01817}01817 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01818}\mbox{\hyperlink{uftdi_8c_a4c5c6fafa527b9ad4e98363553c80a65}{01818}} \mbox{\hyperlink{uftdi_8c_a4c5c6fafa527b9ad4e98363553c80a65}{uftdi\_set\_error\_char}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, \textcolor{keywordtype}{int} echar)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01819}01819 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01820}01820         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01821}01821         \mbox{\hyperlink{structusb__device__request}{usb\_device\_request\_t}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01822}01822         uint8\_t enable;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01823}01823 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01824}01824         DPRINTFN(2, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01825}01825 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01826}01826         enable = (echar == -\/1) ? 0 : 1;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01827}01827 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01828}01828         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6aafebff48631e00449299005c4a858c}{UT\_WRITE\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01829}01829         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_adf6c6c6c120d42411c243936e177f3f7}{FTDI\_SIO\_SET\_ERROR\_CHAR}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01830}01830 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01831}01831         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, sc-\/>\mbox{\hyperlink{structuftdi__softc_a3a6f946f0454655488d07670d5489971}{sc\_ucom}}.\mbox{\hyperlink{structucom__softc_a1d0ce36f176e9cf057a14649f92b105d}{sc\_portno}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01832}01832         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01833}01833         \mbox{\hyperlink{usb__endian_8h_a202f07612d9f9d4b3a1a89bd21b20012}{USETW2}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, enable, echar \& 0xff);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01834}01834 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01835}01835         \textcolor{keywordflow}{return} (\mbox{\hyperlink{usbdi_8h_adf0c9751da27fa2e6a3b52a9bfd5f7d1}{usbd\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}}, \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL));}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01836}01836 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01837}01837 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01838}01838 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01839}\mbox{\hyperlink{uftdi_8c_a44b1f91f003ac1c3cb23d5a0c197cdf5}{01839}} \mbox{\hyperlink{uftdi_8c_a44b1f91f003ac1c3cb23d5a0c197cdf5}{uftdi\_read\_eeprom}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, \textcolor{keyword}{struct} \mbox{\hyperlink{structuftdi__eeio}{uftdi\_eeio}} *eeio)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01840}01840 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01841}01841         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01842}01842         \mbox{\hyperlink{structusb__device__request}{usb\_device\_request\_t}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01843}01843         \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}} err;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01844}01844         uint16\_t widx, wlength, woffset;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01845}01845 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01846}01846         DPRINTFN(3, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01847}01847 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01848}01848         \textcolor{comment}{/* Offset and length must both be evenly divisible by two. */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01849}01849         \textcolor{keywordflow}{if} ((eeio-\/>\mbox{\hyperlink{structuftdi__eeio_a53df7b8f8b9cc2a6fe3532aef67191b1}{offset}} | eeio-\/>\mbox{\hyperlink{structuftdi__eeio_aab2262aed1ee9acec21f750cd5643973}{length}}) \& 0x01)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01850}01850                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01851}01851 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01852}01852         woffset = eeio-\/>\mbox{\hyperlink{structuftdi__eeio_a53df7b8f8b9cc2a6fe3532aef67191b1}{offset}} / 2U;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01853}01853         wlength = eeio-\/>\mbox{\hyperlink{structuftdi__eeio_aab2262aed1ee9acec21f750cd5643973}{length}} / 2U;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01854}01854         \textcolor{keywordflow}{for} (widx = 0; widx < wlength; widx++) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01855}01855                 \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6da49500e864a3c33c9eed3dd49d3e59}{UT\_READ\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01856}01856                 \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_a0b8f8919f64cbbf825487d678d2b6d86}{FTDI\_SIO\_READ\_EEPROM}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01857}01857                 \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, widx + woffset);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01858}01858                 \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 2);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01859}01859                 \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01860}01860                 err = \mbox{\hyperlink{usbdi_8h_adf0c9751da27fa2e6a3b52a9bfd5f7d1}{usbd\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}}, \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}},}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01861}01861                     \&eeio-\/>\mbox{\hyperlink{structuftdi__eeio_a9b270bc4fe14142e8f23d2a80c161c39}{data}}[widx]);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01862}01862                 \textcolor{keywordflow}{if} (err != \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945a01e440e0629669433dd14bc477757c74}{USB\_ERR\_NORMAL\_COMPLETION}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01863}01863                         \textcolor{keywordflow}{return} (err);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01864}01864         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01865}01865         \textcolor{keywordflow}{return} (\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945a01e440e0629669433dd14bc477757c74}{USB\_ERR\_NORMAL\_COMPLETION}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01866}01866 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01867}01867 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01868}01868 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01869}\mbox{\hyperlink{uftdi_8c_a9986bcbc3dcddcd765011f28117148ac}{01869}} \mbox{\hyperlink{uftdi_8c_a9986bcbc3dcddcd765011f28117148ac}{uftdi\_write\_eeprom}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, \textcolor{keyword}{struct} \mbox{\hyperlink{structuftdi__eeio}{uftdi\_eeio}} *eeio)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01870}01870 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01871}01871         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01872}01872         \mbox{\hyperlink{structusb__device__request}{usb\_device\_request\_t}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01873}01873         \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}} err;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01874}01874         uint16\_t widx, wlength, woffset;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01875}01875 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01876}01876         DPRINTFN(3, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01877}01877 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01878}01878         \textcolor{comment}{/* Offset and length must both be evenly divisible by two. */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01879}01879         \textcolor{keywordflow}{if} ((eeio-\/>\mbox{\hyperlink{structuftdi__eeio_a53df7b8f8b9cc2a6fe3532aef67191b1}{offset}} | eeio-\/>\mbox{\hyperlink{structuftdi__eeio_aab2262aed1ee9acec21f750cd5643973}{length}}) \& 0x01)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01880}01880                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01881}01881 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01882}01882         woffset = eeio-\/>\mbox{\hyperlink{structuftdi__eeio_a53df7b8f8b9cc2a6fe3532aef67191b1}{offset}} / 2U;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01883}01883         wlength = eeio-\/>\mbox{\hyperlink{structuftdi__eeio_aab2262aed1ee9acec21f750cd5643973}{length}} / 2U;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01884}01884         \textcolor{keywordflow}{for} (widx = 0; widx < wlength; widx++) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01885}01885                 \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6aafebff48631e00449299005c4a858c}{UT\_WRITE\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01886}01886                 \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_a5c13a34819e5cae1640c22f02061caad}{FTDI\_SIO\_WRITE\_EEPROM}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01887}01887                 \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, widx + woffset);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01888}01888                 \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01889}01889                 \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, eeio-\/>\mbox{\hyperlink{structuftdi__eeio_a9b270bc4fe14142e8f23d2a80c161c39}{data}}[widx]);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01890}01890                 err = \mbox{\hyperlink{usbdi_8h_adf0c9751da27fa2e6a3b52a9bfd5f7d1}{usbd\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}}, \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01891}01891                 \textcolor{keywordflow}{if} (err != \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945a01e440e0629669433dd14bc477757c74}{USB\_ERR\_NORMAL\_COMPLETION}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01892}01892                         \textcolor{keywordflow}{return} (err);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01893}01893         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01894}01894         \textcolor{keywordflow}{return} (\mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945a01e440e0629669433dd14bc477757c74}{USB\_ERR\_NORMAL\_COMPLETION}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01895}01895 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01896}01896 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01897}01897 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01898}\mbox{\hyperlink{uftdi_8c_a0579958d687b91b52aedb3e0f063a1ee}{01898}} \mbox{\hyperlink{uftdi_8c_a0579958d687b91b52aedb3e0f063a1ee}{uftdi\_erase\_eeprom}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, \textcolor{keywordtype}{int} confirmation)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01899}01899 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01900}01900         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01901}01901         \mbox{\hyperlink{structusb__device__request}{usb\_device\_request\_t}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01902}01902         \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}} err;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01903}01903 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01904}01904         DPRINTFN(2, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01905}01905 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01906}01906         \textcolor{comment}{/* Small effort to prevent accidental erasure. */}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01907}01907         \textcolor{keywordflow}{if} (confirmation != \mbox{\hyperlink{uftdiio_8h_aa5221488e9db29ddb37bac4dfb98ea5d}{UFTDI\_CONFIRM\_ERASE}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01908}01908                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01909}01909 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01910}01910         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType = \mbox{\hyperlink{usb_8h_a6aafebff48631e00449299005c4a858c}{UT\_WRITE\_VENDOR\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01911}01911         \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest = \mbox{\hyperlink{uftdi__reg_8h_a79bbb7d2bb56739819d5961f1e80c98c}{FTDI\_SIO\_ERASE\_EEPROM}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01912}01912         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wIndex, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01913}01913         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wLength, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01914}01914         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue, 0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01915}01915         err = \mbox{\hyperlink{usbdi_8h_adf0c9751da27fa2e6a3b52a9bfd5f7d1}{usbd\_do\_request}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_adc0ffd98c84e6dda88bfb413fda3f160}{sc\_udev}}, \&sc-\/>\mbox{\hyperlink{structuftdi__softc_a8b84825719ef74d0f2b90bc2c0c440bc}{sc\_mtx}}, \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, NULL);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01916}01916 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01917}01917         \textcolor{keywordflow}{return} (err);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01918}01918 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01919}01919 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01920}01920 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01921}\mbox{\hyperlink{uftdi_8c_a615f0ee07c094986a1e399c6e572ea43}{01921}} \mbox{\hyperlink{uftdi_8c_a615f0ee07c094986a1e399c6e572ea43}{uftdi\_ioctl}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom, uint32\_t cmd, caddr\_t data,}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01922}01922     \textcolor{keywordtype}{int} flag, \textcolor{keyword}{struct} thread *td)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01923}01923 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01924}01924         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01925}01925         \textcolor{keywordtype}{int} err;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01926}01926         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__bitmode}{uftdi\_bitmode}} * \mbox{\hyperlink{structuftdi__bitmode_a241ca1ecdbf45a02e4f16f5bc5141d6d}{mode}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01927}01927 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01928}01928         \textcolor{keywordflow}{switch} (cmd) \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01929}01929         \textcolor{keywordflow}{case} \mbox{\hyperlink{uftdiio_8h_afde2661ea5fdaa73b416ca93ee6c6947}{UFTDIIOC\_RESET\_IO}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01930}01930         \textcolor{keywordflow}{case} \mbox{\hyperlink{uftdiio_8h_ab6d30864404c138c4d31d7c428b181b5}{UFTDIIOC\_RESET\_RX}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01931}01931         \textcolor{keywordflow}{case} \mbox{\hyperlink{uftdiio_8h_ab639c1b48d010f954aa511e76a8e52f5}{UFTDIIOC\_RESET\_TX}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01932}01932                 err = \mbox{\hyperlink{uftdi_8c_ac0309271f71cf8603b65ed56ad4ea8c1}{uftdi\_reset}}(ucom, }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01933}01933                     cmd == \mbox{\hyperlink{uftdiio_8h_afde2661ea5fdaa73b416ca93ee6c6947}{UFTDIIOC\_RESET\_IO}} ? \mbox{\hyperlink{uftdi__reg_8h_a184292199f79a3982b4a563504afe7c4}{FTDI\_SIO\_RESET\_SIO}} :}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01934}01934                     (cmd == \mbox{\hyperlink{uftdiio_8h_ab6d30864404c138c4d31d7c428b181b5}{UFTDIIOC\_RESET\_RX}} ? \mbox{\hyperlink{uftdi__reg_8h_a89e71c8a21d2a6fdddcec8c3447b8cb0}{FTDI\_SIO\_RESET\_PURGE\_RX}} :}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01935}01935                     \mbox{\hyperlink{uftdi__reg_8h_aef90c1417ef6f4d59753c876a0057545}{FTDI\_SIO\_RESET\_PURGE\_TX}}));}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01936}01936                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01937}01937         \textcolor{keywordflow}{case} \mbox{\hyperlink{uftdiio_8h_a5e7d9084358f361273740bd04227f7f5}{UFTDIIOC\_SET\_BITMODE}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01938}01938                 \mbox{\hyperlink{structuftdi__bitmode_a241ca1ecdbf45a02e4f16f5bc5141d6d}{mode}} = (\textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__bitmode}{uftdi\_bitmode}} *)data;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01939}01939                 err = \mbox{\hyperlink{uftdi_8c_a6728e5d139cd6d0dff82887e145d784d}{uftdi\_set\_bitmode}}(ucom, \mbox{\hyperlink{structuftdi__bitmode_a241ca1ecdbf45a02e4f16f5bc5141d6d}{mode}}-\/>mode, \mbox{\hyperlink{structuftdi__bitmode_a241ca1ecdbf45a02e4f16f5bc5141d6d}{mode}}-\/>iomask);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01940}01940                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01941}01941         \textcolor{keywordflow}{case} \mbox{\hyperlink{uftdiio_8h_acd8f17ae5aa5b58d98e6072e0beb6060}{UFTDIIOC\_GET\_BITMODE}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01942}01942                 \mbox{\hyperlink{structuftdi__bitmode_a241ca1ecdbf45a02e4f16f5bc5141d6d}{mode}} = (\textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__bitmode}{uftdi\_bitmode}} *)data;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01943}01943                 err = \mbox{\hyperlink{uftdi_8c_a0c92134c0cec12a3a278243d5b27899e}{uftdi\_get\_bitmode}}(ucom, \&\mbox{\hyperlink{structuftdi__bitmode_a241ca1ecdbf45a02e4f16f5bc5141d6d}{mode}}-\/>mode, \&\mbox{\hyperlink{structuftdi__bitmode_a241ca1ecdbf45a02e4f16f5bc5141d6d}{mode}}-\/>iomask);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01944}01944                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01945}01945         \textcolor{keywordflow}{case} \mbox{\hyperlink{uftdiio_8h_ad4bce68a496756ee5dc9105afe3548af}{UFTDIIOC\_SET\_LATENCY}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01946}01946                 err = \mbox{\hyperlink{uftdi_8c_a958c34dc06829bc3d7d53e351d961e6f}{uftdi\_set\_latency}}(ucom, *((\textcolor{keywordtype}{int} *)data));}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01947}01947                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01948}01948         \textcolor{keywordflow}{case} \mbox{\hyperlink{uftdiio_8h_a8192d5a9756b06e28f2abc1cbe7d4f5e}{UFTDIIOC\_GET\_LATENCY}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01949}01949                 err = \mbox{\hyperlink{uftdi_8c_ad3c4e72c09c66afd3b4e12ba7e21a3b7}{uftdi\_get\_latency}}(ucom, (\textcolor{keywordtype}{int} *)data);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01950}01950                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01951}01951         \textcolor{keywordflow}{case} \mbox{\hyperlink{uftdiio_8h_afa6fa9ee0aa172c0f29e7026af8dfaed}{UFTDIIOC\_SET\_ERROR\_CHAR}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01952}01952                 err = \mbox{\hyperlink{uftdi_8c_a4c5c6fafa527b9ad4e98363553c80a65}{uftdi\_set\_error\_char}}(ucom, *(\textcolor{keywordtype}{int} *)data);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01953}01953                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01954}01954         \textcolor{keywordflow}{case} \mbox{\hyperlink{uftdiio_8h_adae6f0d8bf63a048e47bd542b0e7dbfd}{UFTDIIOC\_SET\_EVENT\_CHAR}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01955}01955                 err = \mbox{\hyperlink{uftdi_8c_a153878e6ec0bfd9069924d600c7e5923}{uftdi\_set\_event\_char}}(ucom, *(\textcolor{keywordtype}{int} *)data);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01956}01956                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01957}01957         \textcolor{keywordflow}{case} \mbox{\hyperlink{uftdiio_8h_af8637c5f26b6c7e65c2b6185e5526fe9}{UFTDIIOC\_GET\_HWREV}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01958}01958                 *(\textcolor{keywordtype}{int} *)data = sc-\/>\mbox{\hyperlink{structuftdi__softc_a6e43625287fa0ef74e0b744054fdf982}{sc\_bcdDevice}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01959}01959                 err = 0;}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01960}01960                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01961}01961         \textcolor{keywordflow}{case} \mbox{\hyperlink{uftdiio_8h_ace64e84c05fef7af046e3855e51bfd7b}{UFTDIIOC\_READ\_EEPROM}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01962}01962                 err = \mbox{\hyperlink{uftdi_8c_a44b1f91f003ac1c3cb23d5a0c197cdf5}{uftdi\_read\_eeprom}}(ucom, (\textcolor{keyword}{struct} \mbox{\hyperlink{structuftdi__eeio}{uftdi\_eeio}} *)data);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01963}01963                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01964}01964         \textcolor{keywordflow}{case} \mbox{\hyperlink{uftdiio_8h_adfed52407851374655f4e62931da9ab5}{UFTDIIOC\_WRITE\_EEPROM}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01965}01965                 err = \mbox{\hyperlink{uftdi_8c_a9986bcbc3dcddcd765011f28117148ac}{uftdi\_write\_eeprom}}(ucom, (\textcolor{keyword}{struct} \mbox{\hyperlink{structuftdi__eeio}{uftdi\_eeio}} *)data);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01966}01966                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01967}01967         \textcolor{keywordflow}{case} \mbox{\hyperlink{uftdiio_8h_a57f9e962e5843164fe51320d9b2e49a8}{UFTDIIOC\_ERASE\_EEPROM}}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01968}01968                 err = \mbox{\hyperlink{uftdi_8c_a0579958d687b91b52aedb3e0f063a1ee}{uftdi\_erase\_eeprom}}(ucom, *(\textcolor{keywordtype}{int} *)data);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01969}01969                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01970}01970         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01971}01971                 \textcolor{keywordflow}{return} (ENOIOCTL);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01972}01972         \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01973}01973         \textcolor{keywordflow}{if} (err != \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945a01e440e0629669433dd14bc477757c74}{USB\_ERR\_NORMAL\_COMPLETION}})}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01974}01974                 \textcolor{keywordflow}{return} (EIO);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01975}01975         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01976}01976 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01977}01977 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01978}01978 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01979}\mbox{\hyperlink{uftdi_8c_acabf4ea1ec98836389bd1586c2e963ee}{01979}} \mbox{\hyperlink{uftdi_8c_acabf4ea1ec98836389bd1586c2e963ee}{uftdi\_start\_read}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01980}01980 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01981}01981         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01982}01982 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01983}01983         \mbox{\hyperlink{usb__transfer_8c_a7a1f2d22a70b832e8cc31366adec443d}{usbd\_transfer\_start}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_ac0b46dae8a9ec982b20144279295aec2}{sc\_xfer}}[\mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47bad6fdcbcb7e74e92a320ba65caed86aa1}{UFTDI\_BULK\_DT\_RD}}]);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01984}01984 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01985}01985 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01986}01986 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01987}\mbox{\hyperlink{uftdi_8c_af09fb1024e1a314fa6bf12837712b53e}{01987}} \mbox{\hyperlink{uftdi_8c_af09fb1024e1a314fa6bf12837712b53e}{uftdi\_stop\_read}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01988}01988 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01989}01989         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01990}01990 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01991}01991         \mbox{\hyperlink{usb__transfer_8c_abe245d973df0cfd6fb96b884d33ebce3}{usbd\_transfer\_stop}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_ac0b46dae8a9ec982b20144279295aec2}{sc\_xfer}}[\mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47bad6fdcbcb7e74e92a320ba65caed86aa1}{UFTDI\_BULK\_DT\_RD}}]);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01992}01992 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01993}01993 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01994}01994 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01995}\mbox{\hyperlink{uftdi_8c_a85317450541b76f547d111f992d2444b}{01995}} \mbox{\hyperlink{uftdi_8c_a85317450541b76f547d111f992d2444b}{uftdi\_start\_write}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01996}01996 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01997}01997         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01998}01998 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l01999}01999         \mbox{\hyperlink{usb__transfer_8c_a7a1f2d22a70b832e8cc31366adec443d}{usbd\_transfer\_start}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_ac0b46dae8a9ec982b20144279295aec2}{sc\_xfer}}[\mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47bad993d7059d39653c8254d328e1e9251d}{UFTDI\_BULK\_DT\_WR}}]);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02000}02000 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02001}02001 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02002}02002 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02003}\mbox{\hyperlink{uftdi_8c_af92349ac2acf22e1464ce1a4653452fe}{02003}} \mbox{\hyperlink{uftdi_8c_af92349ac2acf22e1464ce1a4653452fe}{uftdi\_stop\_write}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02004}02004 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02005}02005         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02006}02006 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02007}02007         \mbox{\hyperlink{usb__transfer_8c_abe245d973df0cfd6fb96b884d33ebce3}{usbd\_transfer\_stop}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_ac0b46dae8a9ec982b20144279295aec2}{sc\_xfer}}[\mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47bad993d7059d39653c8254d328e1e9251d}{UFTDI\_BULK\_DT\_WR}}]);}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02008}02008 \}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02009}02009 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02010}02010 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02011}\mbox{\hyperlink{uftdi_8c_aaa658229d61aa40333cad8e248ac75e7}{02011}} \mbox{\hyperlink{uftdi_8c_aaa658229d61aa40333cad8e248ac75e7}{uftdi\_poll}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structucom__softc}{ucom\_softc}} *ucom)}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02012}02012 \{}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02013}02013         \textcolor{keyword}{struct }\mbox{\hyperlink{structuftdi__softc}{uftdi\_softc}} *sc = ucom-\/>\mbox{\hyperlink{structucom__softc_a4ebbc8663d0291bf6e0ffb93cc2dc70e}{sc\_parent}};}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02014}02014 }
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02015}02015         \mbox{\hyperlink{usb__transfer_8c_ab2036eadf83fca25cf0d8cdec16d7227}{usbd\_transfer\_poll}}(sc-\/>\mbox{\hyperlink{structuftdi__softc_ac0b46dae8a9ec982b20144279295aec2}{sc\_xfer}}, \mbox{\hyperlink{uftdi_8c_a900dca9b26de42491763226e12dcd47ba260f02df5d4f3d1e982fffa78623d1c9}{UFTDI\_N\_TRANSFER}});}
\DoxyCodeLine{\Hypertarget{uftdi_8c_source_l02016}02016 \}}

\end{DoxyCode}
