  % Handle batch mode
  % to overcome problems with too many open files
  \let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}
  % Set document class depending on configuration
  \documentclass[twoside]{book}
  %% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package
  \usepackage{ifthen}
  \ifx\requestedLaTeXdate\undefined
    \usepackage{array}
  \else
    \usepackage{array}[=2016-10-06]
  \fi
  %%
  % Packages required by doxygen
  \usepackage{fixltx2e} % for \textsubscript
  \usepackage{doxygen}
  \usepackage{graphicx}
  \usepackage[utf8]{inputenc}
  \usepackage{makeidx}
  \PassOptionsToPackage{warn}{textcomp}
  \usepackage{textcomp}
  \usepackage[nointegrals]{wasysym}
  \usepackage{ifxetex}
  % NLS support packages
  % Define default fonts
  % Font selection
  \usepackage[T1]{fontenc}
  % set main and monospaced font
  \usepackage[scaled=.90]{helvet}
\usepackage{courier}
\renewcommand{\familydefault}{\sfdefault}
  \usepackage{sectsty}
  \allsectionsfont{%
    \fontseries{bc}\selectfont%
    \color{darkgray}%
  }
  \renewcommand{\DoxyLabelFont}{%
    \fontseries{bc}\selectfont%
    \color{darkgray}%
  }
  \newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
   % Arguments of doxygenemoji:
   % 1) ':<text>:' form of the emoji, already LaTeX-escaped
   % 2) file with the name of the emoji without the .png extension
   % in case image exist use this otherwise use the ':<text>:' form
   \newcommand{\doxygenemoji}[2]{%
     \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
   }
  % Page & text layout
  \usepackage{geometry}
  \geometry{%
    a4paper,%
    top=2.5cm,%
    bottom=2.5cm,%
    left=2.5cm,%
    right=2.5cm%
  }
  % Allow a bit of overflow to go unnoticed by other means
  \tolerance=750
  \hfuzz=15pt
  \hbadness=750
  \setlength{\emergencystretch}{15pt}
  \setlength{\parindent}{0cm}
  \newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
  \newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
  \doxynormalparskip
  % Redefine paragraph/subparagraph environments, using sectsty fonts
  \makeatletter
  \renewcommand{\paragraph}{%
    \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
      \normalfont\normalsize\bfseries\SS@parafont%
    }%
  }
  \renewcommand{\subparagraph}{%
    \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
      \normalfont\normalsize\bfseries\SS@subparafont%
    }%
  }
  \makeatother
  \makeatletter
  \newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@}
  \makeatother
  % Headers & footers
  \usepackage{fancyhdr}
  \pagestyle{fancyplain}
  \renewcommand{\footrulewidth}{0.4pt}
  \fancypagestyle{fancyplain}{
    \fancyhf{}
    \fancyhead[LE, RO]{\bfseries\thepage}
    \fancyhead[LO]{\bfseries\rightmark}
    \fancyhead[RE]{\bfseries\leftmark}
    \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
  }
  \fancypagestyle{plain}{
    \fancyhf{}
    \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
    \renewcommand{\headrulewidth}{0pt}
  }
  \pagestyle{fancyplain}
  \renewcommand{\chaptermark}[1]{%
    \markboth{#1}{}%
  }
  \renewcommand{\sectionmark}[1]{%
    \markright{\thesection\ #1}%
  }
  % ToC, LoF, LoT, bibliography, and index
  % Indices & bibliography
  \usepackage{natbib}
  \usepackage[titles]{tocloft}
  \setcounter{tocdepth}{3}
  \setcounter{secnumdepth}{5}
  % creating indexes
  \makeindex
  \usepackage{newunicodechar}
  \newunicodechar{⁻}{${}^{-}$}% Superscript minus
  \newunicodechar{²}{${}^{2}$}% Superscript two
  \newunicodechar{³}{${}^{3}$}% Superscript three
  % Hyperlinks
    % Hyperlinks (required, but should be loaded last)
    \ifpdf
      \usepackage[pdftex,pagebackref=true]{hyperref}
    \else
      \ifxetex
        \usepackage[pagebackref=true]{hyperref}
      \else
        \usepackage[ps2pdf,pagebackref=true]{hyperref}
      \fi
    \fi
    \hypersetup{%
      colorlinks=true,%
      linkcolor=blue,%
      citecolor=blue,%
      unicode,%
      pdftitle=Free\+BSD kernel SFXGE device code,%
      pdfsubject=%
    }
  % Custom commands used by the header
  % Custom commands
  \newcommand{\clearemptydoublepage}{%
    \newpage{\pagestyle{empty}\cleardoublepage}%
  }
  % caption style definition
  \usepackage{caption}
  \captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
  % in page table of contents
  \usepackage{etoc}
  \etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
  % prevent numbers overlap the titles in toc
  \renewcommand{\numberline}[1]{#1~}
% End of preamble, now comes the document contents
%===== C O N T E N T S =====
\begin{document}
  \raggedbottom
  % Titlepage & ToC
    % To avoid duplicate page anchors due to reuse of same numbers for
    % the index (be it as roman numbers)
    \hypersetup{pageanchor=false,
                bookmarksnumbered=true,
                pdfencoding=unicode
               }
  \pagenumbering{alph}
  \begin{titlepage}
  \vspace*{7cm}
  \begin{center}%
  {\Large Free\+BSD kernel SFXGE device code}\\
  \vspace*{1cm}
  {\large Generated by Doxygen 1.9.3}\\
  \end{center}
  \end{titlepage}
  \clearemptydoublepage
  \pagenumbering{roman}
  \tableofcontents
  \clearemptydoublepage
  \pagenumbering{arabic}
  % re-enable anchors again
  \hypersetup{pageanchor=true}
%--- Begin generated contents ---
\chapter{Free\+BSD kernel SFXGE device code}
\label{index}\hypertarget{index}{}\input{index}
\chapter{Data Structure Index}
\input{annotated}
\chapter{File Index}
\input{files}
\chapter{Data Structure Documentation}
\input{db/d88/structblob__hdr__s}
\input{db/dc0/structblobs__hdr__s}
\input{d4/d19/structef10__external__port__map__s}
\input{d3/d26/structef10__filter__encap__entry__s}
\input{d6/d26/structef10__link__state__s}
\input{df/dcd/structef10__parttbl__entry__s}
\input{d1/def/structefsys__bar__s}
\input{dd/d8b/structefsys__lock__s}
\input{db/d70/structefsys__mem__s}
\input{dd/db9/structefx__buffer__s}
\input{dd/dad/unionefx__byte__u}
\input{d0/dd7/structefx__desc__s}
\input{dd/d7d/structefx__drv__cfg__s}
\input{df/df3/structefx__drv__limits__s}
\input{dd/d26/unionefx__dword__u}
\input{de/d3a/structefx__ev__callbacks__s}
\input{de/d12/structefx__ev__ops__s}
\input{d7/d87/structefx__evq__rxq__state__s}
\input{dc/db0/structefx__evq__s}
\input{d1/da3/structefx__filter__ops__s}
\input{db/d92/structefx__filter__s}
\input{dd/dab/structefx__filter__spec__s}
\input{dd/d35/structefx__intr__ops__s}
\input{d2/d36/structefx__intr__s}
\input{dc/d74/structefx__mac__ops__s}
\input{d5/d30/structefx__mac__stats__range}
\input{dd/da5/structefx__mcdi__iface__s}
\input{d3/d00/structefx__mcdi__ops__s}
\input{d5/d58/structefx__mcdi__req__s}
\input{d2/de8/structefx__mcdi__s}
\input{d5/d93/structefx__mcdi__transport__s}
\input{df/da5/structefx__mon__ops__s}
\input{d8/d94/structefx__mon__s}
\input{d8/d56/structefx__nic__cfg__s}
\input{d6/d95/structefx__nic__fw__info__s}
\input{d7/db5/structefx__nic__ops__s}
\input{d4/da4/structefx__nic__s}
\input{d3/d73/structefx__nvram__ops__s}
\input{db/dd3/unionefx__oword__u}
\input{d6/d8e/structefx__phy__link__state__s}
\input{d4/d07/structefx__phy__ops__s}
\input{db/d8d/structefx__port__s}
\input{d2/dbf/unionefx__qword__u}
\input{d1/d1d/structefx__rx__ops__s}
\input{de/d7b/structefx__rxq__s}
\input{d7/d6c/unionefx__rxq__type__data__u}
\input{d6/d2b/structefx__tx__ops__s}
\input{d4/d50/structefx__txq__s}
\input{da/d45/structefx__vpd__ops__s}
\input{d2/dc6/structefx__vpd__value__s}
\input{d5/d7e/unionefx__word__u}
\input{da/db6/unionefx__nic__s_1_1en__arch}
\input{d7/d8b/structnvram__partition__s}
\input{d6/d7c/structsfxge__evq}
\input{d2/d02/structsfxge__hw__stats}
\input{d3/d33/structsfxge__intr}
\input{d2/ddb/structsfxge__intr__hdl}
\input{d8/dc9/structsfxge__ioc__s}
\input{d1/d10/structsfxge__mcdi}
\input{d7/da9/structsfxge__port}
\input{de/db4/structsfxge__rx__sw__desc}
\input{d5/d7a/structsfxge__rxq}
\input{d0/dd0/structsfxge__softc}
\input{dd/d8e/structsfxge__tso__state}
\input{da/d27/structsfxge__tx__dpl}
\input{d0/d11/structsfxge__tx__mapping}
\input{db/d6a/structsfxge__txq}
\input{dc/d1d/structsiena__filter__s}
\input{d5/d34/structsiena__filter__spec__s}
\input{d2/d30/structsiena__filter__tbl__s}
\input{d8/d74/structsiena__link__state__s}
\input{d9/d4d/structsiena__mc__boot__hdr__s}
\input{d1/d64/structsiena__mc__combo__rom__hdr__s}
\input{df/d9a/structsiena__mc__dynamic__config__hdr__s}
\input{d8/db5/structsiena__mc__fw__version__s}
\input{da/d32/structsiena__mc__static__config__hdr__s}
\input{dd/d46/structsiena__parttbl__entry__s}
\input{d7/d1b/structsigned__image__chunk__hdr__e}
\input{d5/d32/structtlv__0v9__atb__offset}
\input{df/d18/structtlv__0v9__atb__target}
\input{d0/d00/structtlv__0v9__settings}
\input{de/d53/structtlv__appendable__partition__header}
\input{d7/da6/structtlv__binding__ticket}
\input{db/dff/structtlv__biu__vi__window__mode}
\input{d2/d67/structtlv__ca__root__cert}
\input{d2/d96/structtlv__clock__config}
\input{d7/d7d/structtlv__clock__config__medford}
\input{da/d21/structtlv__cursor__s}
\input{d1/d21/structtlv__descriptor__cache__config}
\input{dc/d14/structtlv__fastpd__mode}
\input{d0/dd1/structtlv__firmware__options}
\input{dd/d29/structtlv__global__capabilities}
\input{dd/d20/structtlv__global__dbi}
\input{db/d8c/structtlv__global__dynamic__vpd}
\input{d3/dcc/structtlv__global__mac}
\input{d4/d59/structtlv__global__port__config}
\input{de/dce/structtlv__global__port__mode}
\input{d9/d79/structtlv__global__static__vpd}
\input{d0/dc6/structtlv__l3xudp__ports}
\input{d0/d0c/structtlv__license}
\input{d2/d2d/structtlv__mcast__filter__chaining}
\input{d4/d7a/structtlv__ocsd}
\input{d4/da4/structtlv__partition__header}
\input{d5/d28/structtlv__partition__subtype}
\input{dc/d7b/structtlv__partition__trailer}
\input{d1/d74/structtlv__partition__version}
\input{d3/d89/structtlv__pcie__config}
\input{d6/d29/structtlv__pcie__config__r2}
\input{d0/d1a/structtlv__pcie__link__settings}
\input{dd/de4/structtlv__pcie__tx__amp__config}
\input{df/d98/structtlv__per__pf__pcie__config}
\input{d4/d5f/structtlv__pf__dbi}
\input{d6/dc1/structtlv__pf__dynamic__vpd}
\input{d8/d1e/structtlv__pf__static__vpd}
\input{df/d35/structtlv__pfiov}
\input{d1/dfa/structtlv__pik__sf}
\input{da/d98/structtlv__port__mac}
\input{d3/d78/structtlv__privilege__mask}
\input{db/d1c/structtlv__privilege__mask__add}
\input{d8/da2/structtlv__privilege__mask__add__all__pfs}
\input{df/d50/structtlv__privilege__mask__add__single__pf}
\input{d5/d12/structtlv__privilege__mask__rem}
\input{d5/dea/structtlv__rate__limit}
\input{de/d4a/structtlv__rx__event__merging__config}
\input{d2/d15/structtlv__tmp__gubbins}
\input{da/dd3/structtlv__tsac__config}
\input{d7/d97/structtlv__tsan__config}
\input{da/d9f/structtlv__tx__event__merging__config}
\input{d4/d0b/structtlv__tx__vfifo__ull__mode}
\input{d0/d8c/structtlv__vport__vlan__tag}
\input{d9/dc8/structtlv__vswitch__type}
\chapter{File Documentation}
\input{d4/d62/ef10__ev_8c}
\input{d4/d62/ef10__ev_8c_source}
\input{dc/d4d/ef10__filter_8c}
\input{dc/d4d/ef10__filter_8c_source}
\input{de/d58/ef10__image_8c}
\input{de/d58/ef10__image_8c_source}
\input{da/d9c/ef10__impl_8h}
\input{da/d9c/ef10__impl_8h_source}
\input{de/d4c/ef10__intr_8c}
\input{de/d4c/ef10__intr_8c_source}
\input{d7/d53/ef10__mac_8c}
\input{d7/d53/ef10__mac_8c_source}
\input{d5/d73/ef10__mcdi_8c}
\input{d5/d73/ef10__mcdi_8c_source}
\input{d9/d04/ef10__nic_8c}
\input{d9/d04/ef10__nic_8c_source}
\input{de/dd3/ef10__nvram_8c}
\input{de/dd3/ef10__nvram_8c_source}
\input{da/dcf/ef10__phy_8c}
\input{da/dcf/ef10__phy_8c_source}
\input{d4/da7/ef10__rx_8c}
\input{d4/da7/ef10__rx_8c_source}
\input{de/dfe/ef10__signed__image__layout_8h}
\input{de/dfe/ef10__signed__image__layout_8h_source}
\input{d9/d50/ef10__tlv__layout_8h}
\input{d9/d50/ef10__tlv__layout_8h_source}
\input{d3/d08/ef10__tx_8c}
\input{d3/d08/ef10__tx_8c_source}
\input{da/da5/ef10__vpd_8c}
\input{da/da5/ef10__vpd_8c_source}
\input{da/de6/efsys_8h}
\input{da/de6/efsys_8h_source}
\input{d4/deb/efx_8h}
\input{d4/deb/efx_8h_source}
\input{d3/d30/efx__annote_8h}
\input{d3/d30/efx__annote_8h_source}
\input{d5/dcb/efx__bootcfg_8c}
\input{d5/dcb/efx__bootcfg_8c_source}
\input{d1/d28/efx__check_8h}
\input{d1/d28/efx__check_8h_source}
\input{d9/de3/efx__crc32_8c}
\input{d9/de3/efx__crc32_8c_source}
\input{d0/d8c/efx__ev_8c}
\input{d0/d8c/efx__ev_8c_source}
\input{d8/dae/efx__filter_8c}
\input{d8/dae/efx__filter_8c_source}
\input{da/d0f/efx__hash_8c}
\input{da/d0f/efx__hash_8c_source}
\input{dd/d53/efx__impl_8h}
\input{dd/d53/efx__impl_8h_source}
\input{da/dd0/efx__intr_8c}
\input{da/dd0/efx__intr_8c_source}
\input{d6/d8a/efx__lic_8c}
\input{d6/d8a/efx__lic_8c_source}
\input{dd/dbb/efx__mac_8c}
\input{dd/dbb/efx__mac_8c_source}
\input{d7/db9/efx__mcdi_8c}
\input{d7/db9/efx__mcdi_8c_source}
\input{db/dbb/efx__mcdi_8h}
\input{db/dbb/efx__mcdi_8h_source}
\input{dc/d62/efx__mon_8c}
\input{dc/d62/efx__mon_8c_source}
\input{df/d31/efx__nic_8c}
\input{df/d31/efx__nic_8c_source}
\input{df/dd5/efx__nvram_8c}
\input{df/dd5/efx__nvram_8c_source}
\input{dd/d38/efx__phy_8c}
\input{dd/d38/efx__phy_8c_source}
\input{d4/df2/efx__phy__ids_8h}
\input{d4/df2/efx__phy__ids_8h_source}
\input{d3/d42/efx__port_8c}
\input{d3/d42/efx__port_8c_source}
\input{d1/d6c/efx__regs_8h}
\input{d1/d6c/efx__regs_8h_source}
\input{d7/dce/efx__regs__ef10_8h}
\input{d7/dce/efx__regs__ef10_8h_source}
\input{df/d08/efx__regs__mcdi_8h}
\input{df/d08/efx__regs__mcdi_8h_source}
\input{d5/d1d/efx__regs__mcdi__aoe_8h}
\input{d5/d1d/efx__regs__mcdi__aoe_8h_source}
\input{db/d07/efx__regs__mcdi__strs_8h}
\input{db/d07/efx__regs__mcdi__strs_8h_source}
\input{d1/d6f/efx__regs__pci_8h}
\input{d1/d6f/efx__regs__pci_8h_source}
\input{d5/da5/efx__rx_8c}
\input{d5/da5/efx__rx_8c_source}
\input{db/d94/efx__sram_8c}
\input{db/d94/efx__sram_8c_source}
\input{d5/da4/efx__tunnel_8c}
\input{d5/da4/efx__tunnel_8c_source}
\input{db/d54/efx__tx_8c}
\input{db/d54/efx__tx_8c_source}
\input{d5/d1a/efx__types_8h}
\input{d5/d1a/efx__types_8h_source}
\input{d0/d10/efx__vpd_8c}
\input{d0/d10/efx__vpd_8c_source}
\input{d6/dd9/hunt__impl_8h}
\input{d6/dd9/hunt__impl_8h_source}
\input{db/de4/hunt__nic_8c}
\input{db/de4/hunt__nic_8c_source}
\input{dd/db9/mcdi__mon_8c}
\input{dd/db9/mcdi__mon_8c_source}
\input{df/d93/mcdi__mon_8h}
\input{df/d93/mcdi__mon_8h_source}
\input{d0/dfb/medford2__impl_8h}
\input{d0/dfb/medford2__impl_8h_source}
\input{d1/d03/medford2__nic_8c}
\input{d1/d03/medford2__nic_8c_source}
\input{dd/df4/medford__impl_8h}
\input{dd/df4/medford__impl_8h_source}
\input{d7/d3e/medford__nic_8c}
\input{d7/d3e/medford__nic_8c_source}
\input{d9/dff/siena__flash_8h}
\input{d9/dff/siena__flash_8h_source}
\input{df/d87/siena__impl_8h}
\input{df/d87/siena__impl_8h_source}
\input{dc/dce/siena__mac_8c}
\input{dc/dce/siena__mac_8c_source}
\input{d4/df4/siena__mcdi_8c}
\input{d4/df4/siena__mcdi_8c_source}
\input{d8/d00/siena__nic_8c}
\input{d8/d00/siena__nic_8c_source}
\input{d5/d67/siena__nvram_8c}
\input{d5/d67/siena__nvram_8c_source}
\input{d1/d9a/siena__phy_8c}
\input{d1/d9a/siena__phy_8c_source}
\input{de/d4b/siena__sram_8c}
\input{de/d4b/siena__sram_8c_source}
\input{d9/d30/siena__vpd_8c}
\input{d9/d30/siena__vpd_8c_source}
\input{de/d5c/sfxge_8c}
\input{de/d5c/sfxge_8c_source}
\input{dc/d75/sfxge_8h}
\input{dc/d75/sfxge_8h_source}
\input{db/d4a/sfxge__dma_8c}
\input{db/d4a/sfxge__dma_8c_source}
\input{d2/d1b/sfxge__ev_8c}
\input{d2/d1b/sfxge__ev_8c_source}
\input{db/dd2/sfxge__intr_8c}
\input{db/dd2/sfxge__intr_8c_source}
\input{d1/dbc/sfxge__ioc_8h}
\input{d1/dbc/sfxge__ioc_8h_source}
\input{de/df5/sfxge__mcdi_8c}
\input{de/df5/sfxge__mcdi_8c_source}
\input{d1/d8b/sfxge__nvram_8c}
\input{d1/d8b/sfxge__nvram_8c_source}
\input{d8/de9/sfxge__port_8c}
\input{d8/de9/sfxge__port_8c_source}
\input{d2/d25/sfxge__rx_8c}
\input{d2/d25/sfxge__rx_8c_source}
\input{d2/d53/sfxge__rx_8h}
\input{d2/d53/sfxge__rx_8h_source}
\input{d0/d4a/sfxge__tx_8c}
\input{d0/d4a/sfxge__tx_8c_source}
\input{d0/d82/sfxge__tx_8h}
\input{d0/d82/sfxge__tx_8h_source}
\input{dc/d87/sfxge__version_8h}
\input{dc/d87/sfxge__version_8h_source}
\input{d7/d63/notreviewed_8dox}
%--- End generated contents ---
% Index
  \backmatter
  \newpage
  \phantomsection
  \clearemptydoublepage
  \addcontentsline{toc}{chapter}{\indexname}
  \printindex
% Required for some languages (in combination with latexdocumentpre from the header)
\end{document}
