\hypertarget{lio__rxtx_8h_source}{}\doxysection{lio\+\_\+rxtx.\+h}
\label{lio__rxtx_8h_source}\index{dev/liquidio/lio\_rxtx.h@{dev/liquidio/lio\_rxtx.h}}
\mbox{\hyperlink{lio__rxtx_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00001}00001 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00002}00002 \textcolor{comment}{ *   BSD LICENSE}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00004}00004 \textcolor{comment}{ *   Copyright(c) 2017 Cavium, Inc.. All rights reserved.}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00005}00005 \textcolor{comment}{ *   All rights reserved.}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00006}00006 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00007}00007 \textcolor{comment}{ *   Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00008}00008 \textcolor{comment}{ *   modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00009}00009 \textcolor{comment}{ *   are met:}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00010}00010 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00011}00011 \textcolor{comment}{ *     * Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00012}00012 \textcolor{comment}{ *       notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00013}00013 \textcolor{comment}{ *     * Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00014}00014 \textcolor{comment}{ *       notice, this list of conditions and the following disclaimer in}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00015}00015 \textcolor{comment}{ *       the documentation and/or other materials provided with the}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00016}00016 \textcolor{comment}{ *       distribution.}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00017}00017 \textcolor{comment}{ *     * Neither the name of Cavium, Inc. nor the names of its}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00018}00018 \textcolor{comment}{ *       contributors may be used to endorse or promote products derived}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00019}00019 \textcolor{comment}{ *       from this software without specific prior written permission.}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00020}00020 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00021}00021 \textcolor{comment}{ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00022}00022 \textcolor{comment}{ *   "{}AS IS"{} AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00023}00023 \textcolor{comment}{ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00024}00024 \textcolor{comment}{ *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00025}00025 \textcolor{comment}{ *   OWNER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00026}00026 \textcolor{comment}{ *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00027}00027 \textcolor{comment}{ *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00028}00028 \textcolor{comment}{ *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00029}00029 \textcolor{comment}{ *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00030}00030 \textcolor{comment}{ *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00031}00031 \textcolor{comment}{ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00032}00032 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00033}00033 \textcolor{comment}{/*\$FreeBSD\$*/}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00034}00034 }
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00035}00035 \textcolor{preprocessor}{\#ifndef \_LIO\_RXTX\_H\_}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00036}00036 \textcolor{preprocessor}{\#define \_LIO\_RXTX\_H\_}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00037}00037 }
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00038}00038 \textcolor{comment}{/* Bit mask values for lio-\/>ifstate */}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00039}\mbox{\hyperlink{lio__rxtx_8h_a1ab627a43da1be66308d19c96c8aae9b}{00039}} \textcolor{preprocessor}{\#define LIO\_IFSTATE\_DROQ\_OPS    0x01}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00040}\mbox{\hyperlink{lio__rxtx_8h_add47f1b3f39a4d10546bfb50e9c8a317}{00040}} \textcolor{preprocessor}{\#define LIO\_IFSTATE\_REGISTERED  0x02}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00041}\mbox{\hyperlink{lio__rxtx_8h_a6ee79fd2e38d1717a146513ac126fe4b}{00041}} \textcolor{preprocessor}{\#define LIO\_IFSTATE\_RUNNING     0x04}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00042}\mbox{\hyperlink{lio__rxtx_8h_acb5c5b25492a14adeeaaa82e9fcccf68}{00042}} \textcolor{preprocessor}{\#define LIO\_IFSTATE\_DETACH      0x08}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00043}\mbox{\hyperlink{lio__rxtx_8h_ad9db2cd659b21642cc30badfd7feca90}{00043}} \textcolor{preprocessor}{\#define LIO\_IFSTATE\_RESETTING   0x10}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00044}00044 }
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00045}00045 }
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00046}00046 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00047}00047 \textcolor{comment}{ * Structure of a node in list of gather components maintained by}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00048}00048 \textcolor{comment}{ * NIC driver for each network device.}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00049}00049 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00050}\mbox{\hyperlink{structlio__gather}{00050}} \textcolor{keyword}{struct }\mbox{\hyperlink{structlio__gather}{lio\_gather}} \{}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00051}00051         \textcolor{comment}{/* List manipulation. Next and prev pointers. */}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00052}\mbox{\hyperlink{structlio__gather_ad62bc93af2e70bca44ff4be6326bfe6f}{00052}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structlio__stailq__node}{lio\_stailq\_node}}   \mbox{\hyperlink{structlio__gather_ad62bc93af2e70bca44ff4be6326bfe6f}{node}};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00053}00053 }
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00054}00054         \textcolor{comment}{/* Size of the gather component at sg in bytes. */}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00055}\mbox{\hyperlink{structlio__gather_a3f865ea14d3428a4d5c042c930e2ac3d}{00055}}         \textcolor{keywordtype}{int}     \mbox{\hyperlink{structlio__gather_a3f865ea14d3428a4d5c042c930e2ac3d}{sg\_size}};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00056}00056 }
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00057}00057         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00058}00058 \textcolor{comment}{         * Gather component that can accommodate max sized fragment list}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00059}00059 \textcolor{comment}{         * received from the IP layer.}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00060}00060 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00061}\mbox{\hyperlink{structlio__gather_aa9f0d8b8241c2588883f2d2bb3d61094}{00061}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structlio__sg__entry}{lio\_sg\_entry}} *\mbox{\hyperlink{structlio__gather_aa9f0d8b8241c2588883f2d2bb3d61094}{sg}};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00062}00062 }
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00063}\mbox{\hyperlink{structlio__gather_a845d9b5fc0ebe4ec3fa17bc08505d8b6}{00063}}         uint64\_t                \mbox{\hyperlink{structlio__gather_a845d9b5fc0ebe4ec3fa17bc08505d8b6}{sg\_dma\_ptr}};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00064}00064 \};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00065}00065 }
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00066}\mbox{\hyperlink{unionlio__tx__info}{00066}} \textcolor{keyword}{union }\mbox{\hyperlink{unionlio__tx__info}{lio\_tx\_info}} \{}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00067}\mbox{\hyperlink{unionlio__tx__info_a18bb526cf84dcc7f8d6bf8cb9b4ebbae}{00067}}         uint64\_t        \mbox{\hyperlink{unionlio__tx__info_a18bb526cf84dcc7f8d6bf8cb9b4ebbae}{tx\_info64}};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00068}00068         \textcolor{keyword}{struct }\{}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00069}00069 \textcolor{preprocessor}{\#if \_BYTE\_ORDER == \_BIG\_ENDIAN}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00070}\mbox{\hyperlink{unionlio__tx__info_ad34305f3acd6adb81fee1f778077c65f}{00070}}                 uint16\_t        \mbox{\hyperlink{unionlio__tx__info_ad34305f3acd6adb81fee1f778077c65f}{gso\_size}};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00071}\mbox{\hyperlink{unionlio__tx__info_aaff849c9dcd6cd7b2b8cf4db8dda3040}{00071}}                 uint16\_t        \mbox{\hyperlink{unionlio__tx__info_aaff849c9dcd6cd7b2b8cf4db8dda3040}{gso\_segs}};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00072}\mbox{\hyperlink{unionlio__tx__info_a560ba6967e0895d91613eda8a89e8281}{00072}}                 uint32\_t        \mbox{\hyperlink{unionlio__tx__info_a560ba6967e0895d91613eda8a89e8281}{reserved}};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00073}00073 \textcolor{preprocessor}{\#else   }\textcolor{comment}{/* \_BYTE\_ORDER == \_LITTLE\_ENDIAN */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00074}00074                 uint32\_t        \mbox{\hyperlink{unionlio__tx__info_a560ba6967e0895d91613eda8a89e8281}{reserved}};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00075}00075                 uint16\_t        \mbox{\hyperlink{unionlio__tx__info_aaff849c9dcd6cd7b2b8cf4db8dda3040}{gso\_segs}};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00076}00076                 uint16\_t        \mbox{\hyperlink{unionlio__tx__info_ad34305f3acd6adb81fee1f778077c65f}{gso\_size}};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00077}00077 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00078}\mbox{\hyperlink{unionlio__tx__info_a6f756d9441accbb54f1ee1dc410f15f5}{00078}}         \}       \mbox{\hyperlink{unionlio__tx__info_a6f756d9441accbb54f1ee1dc410f15f5}{s}};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00079}00079 \};}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00080}00080 }
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00081}00081 \textcolor{keywordtype}{int}     \mbox{\hyperlink{lio__rxtx_8h_a357e0a6229c74147b38de453604e3a2b}{lio\_xmit}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structlio}{lio}} *\mbox{\hyperlink{structlio}{lio}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structlio__instr__queue}{lio\_instr\_queue}} *iq,}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00082}00082                  \textcolor{keyword}{struct} mbuf **m\_headp);}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00083}00083 \textcolor{keywordtype}{int}     \mbox{\hyperlink{lio__rxtx_8h_a61ddde62ce3624ee8e0fc182077e3862}{lio\_mq\_start\_locked}}(\textcolor{keyword}{struct} ifnet *ifp, \textcolor{keyword}{struct} \mbox{\hyperlink{structlio__instr__queue}{lio\_instr\_queue}} *iq);}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00084}00084 \textcolor{keywordtype}{int}     \mbox{\hyperlink{lio__rxtx_8h_a9df63599d6f995462dca5a547fd2dbd6}{lio\_mq\_start}}(\textcolor{keyword}{struct} ifnet *ifp, \textcolor{keyword}{struct} mbuf *m);}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00085}00085 \textcolor{keywordtype}{void}    \mbox{\hyperlink{lio__rxtx_8h_a05d8ae514c414dd15157920756336af0}{lio\_qflush}}(\textcolor{keyword}{struct} ifnet *ifp);}
\DoxyCodeLine{\Hypertarget{lio__rxtx_8h_source_l00086}00086 \textcolor{preprocessor}{\#endif  }\textcolor{comment}{/* \_LIO\_RXTX\_H\_ */}\textcolor{preprocessor}{}}

\end{DoxyCode}
