  % 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 qlxgbe 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 qlxgbe 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 qlxgbe device code}
\label{index}\hypertarget{index}{}\input{index}
\chapter{Data Structure Index}
\input{annotated}
\chapter{File Index}
\input{files}
\chapter{Data Structure Documentation}
\input{df/dbd/struct__offchip__mem__val}
\input{d4/d5e/struct__q80__config__fw__lro}
\input{d9/d13/struct__q80__config__fw__lro__rsp}
\input{d8/d0a/struct__q80__config__intr}
\input{d5/d11/struct__q80__config__intr__coalesc}
\input{dd/d1d/struct__q80__config__intr__coalesc__rsp}
\input{d4/dfc/struct__q80__config__intr__rsp}
\input{de/d4e/struct__q80__config__ip__addr}
\input{d9/d44/struct__q80__config__ip__addr__rsp}
\input{d2/d80/struct__q80__config__lro__flow}
\input{d2/d9a/struct__q80__config__lro__flow__rsp}
\input{d9/d14/struct__q80__config__mac__addr}
\input{db/da1/struct__q80__config__mac__addr__rsp}
\input{da/d0d/struct__q80__config__mac__rcv__mode}
\input{de/ded/struct__q80__config__mac__rcv__mode__rsp}
\input{da/d03/struct__q80__config__md__templ__cmd}
\input{dc/d5d/struct__q80__config__md__templ__cmd__rsp}
\input{dc/d72/struct__q80__config__md__templ__size}
\input{d0/d9e/struct__q80__config__md__templ__size__rsp}
\input{d1/d89/struct__q80__config__rss}
\input{de/d21/struct__q80__config__rss__ind__table}
\input{d9/dc9/struct__q80__config__rss__ind__table__rsp}
\input{d9/dbb/struct__q80__config__rss__rsp}
\input{de/d02/struct__q80__get__link__status}
\input{de/d5e/struct__q80__get__link__status__rsp}
\input{d3/dfb/struct__q80__get__mac__rcv__xmt__stats__rsp}
\input{de/dfa/struct__q80__get__port__cfg}
\input{dc/d51/struct__q80__get__port__cfg__rsp}
\input{d1/d23/struct__q80__get__stats}
\input{dd/d82/struct__q80__get__stats__rsp}
\input{d3/d33/struct__q80__hw__config}
\input{db/d63/struct__q80__hw__config__rsp}
\input{d2/d24/struct__q80__idc__ack}
\input{d4/d35/struct__q80__idc__ack__rsp}
\input{dd/da6/struct__q80__init__nic__func}
\input{de/ddf/struct__q80__init__nic__func__rsp}
\input{d3/d96/struct__q80__intr}
\input{da/dee/struct__q80__intr__rsp}
\input{d6/d5d/struct__q80__link__event}
\input{d5/dd3/struct__q80__link__event__rsp}
\input{d5/d51/struct__q80__mac__addr}
\input{d9/d6c/struct__q80__mac__stats}
\input{de/d2c/struct__q80__offchip__mem__val}
\input{dd/d22/struct__q80__query__fw__dcbx__caps}
\input{d7/d7b/struct__q80__query__fw__dcbx__caps__rsp}
\input{d0/d6f/struct__q80__rcv__cntxt__destroy}
\input{d7/df3/struct__q80__rcv__cntxt__destroy__rsp}
\input{d9/d66/struct__q80__rcv__desc}
\input{d7/d56/struct__q80__rcv__stats}
\input{d4/df2/struct__q80__rq__add__rcv__rings}
\input{d8/d38/struct__q80__rq__map__sds__to__rds}
\input{d4/da7/struct__q80__rq__rcv__cntxt}
\input{d7/d61/struct__q80__rq__rds__ring}
\input{d6/dd5/struct__q80__rq__sds__ring}
\input{de/dee/struct__q80__rq__tx__cntxt}
\input{d7/d26/struct__q80__rq__tx__ring}
\input{d2/d33/struct__q80__rsp__add__rcv__rings}
\input{d1/d15/struct__q80__rsp__map__sds__to__rds}
\input{d3/dd3/struct__q80__rsp__rcv__cntxt}
\input{d6/d16/struct__q80__rsp__rds__ring}
\input{df/d67/struct__q80__rsp__tx__cntxt}
\input{d4/dfa/struct__q80__rsp__tx__ring}
\input{d8/da3/struct__q80__sds__rds__map__e}
\input{d3/ddf/struct__q80__set__max__mtu}
\input{d1/d97/struct__q80__set__max__mtu__rsp}
\input{d9/d95/struct__q80__set__port__cfg}
\input{df/d2b/struct__q80__set__port__cfg__rsp}
\input{d7/d06/struct__q80__stat__desc}
\input{d9/d75/struct__q80__stop__nic__func}
\input{d5/da3/struct__q80__stop__nic__func__rsp}
\input{db/d3f/struct__q80__tx__cmd}
\input{dc/d7d/struct__q80__tx__cntxt__destroy}
\input{dc/d52/struct__q80__tx__cntxt__destroy__rsp}
\input{dd/d8e/struct__q80__xmt__stats}
\input{d3/dfc/struct__q8__ce__hdr}
\input{dd/db5/struct__q8__poll__e}
\input{d2/d35/struct__q8__poll__hdr}
\input{d2/d75/struct__q8__poll__rd__e}
\input{da/da3/struct__q8__poll__wr__e}
\input{de/d89/struct__q8__rdmwr__e}
\input{df/d73/struct__q8__rdmwr__hdr}
\input{d3/d54/struct__q8__rdwrl__e}
\input{d7/dfd/struct__q8__tmplt__hdr}
\input{d2/d8d/struct__q8__wrl__e}
\input{d2/d2f/struct__qla__flash__desc__table}
\input{d3/dba/struct__qla__hw}
\input{db/d73/struct__qla__hw__tx__cntxt}
\input{d3/d21/struct__qla__mcast}
\input{d5/d97/struct__qla__rdesc}
\input{d1/daf/struct__qla__sds}
\input{dd/de0/struct__qla__sgl__lro}
\input{db/d9a/struct__qla__sgl__rcv}
\input{d7/def/struct__qla__tx__fp}
\input{dd/d34/struct__qla__tx__ring}
\input{d0/dfd/structql__mdump__tmplt__hdr}
\input{d9/d64/structql__minidump__entry__cache__s}
\input{d8/de5/structql__minidump__entry__cntrl__s}
\input{dd/df9/structql__minidump__entry__hdr__s}
\input{db/df8/structql__minidump__entry__mux2__s}
\input{db/de4/structql__minidump__entry__mux__s}
\input{d2/d70/structql__minidump__entry__queue__s}
\input{d5/dc6/structql__minidump__entry__rd__modify__wr__with__poll__s}
\input{d4/d1c/structql__minidump__entry__rdcrb__s}
\input{d5/dd6/structql__minidump__entry__rdcrb__with__poll__s}
\input{db/de3/structql__minidump__entry__rdmem__s}
\input{d0/d75/structql__minidump__entry__rdocm__s}
\input{d1/dc6/structql__minidump__entry__rdrom__s}
\input{dc/d99/structql__minidump__entry__s}
\input{df/d24/structqla__dma}
\input{d9/d88/structqla__dmabuf}
\input{d4/d14/structqla__driver__state}
\input{db/d52/structqla__drvr__state__hdr}
\input{dd/d54/structqla__drvr__state__rx}
\input{d7/d2e/structqla__drvr__state__sds}
\input{da/de5/structqla__drvr__state__tx}
\input{d1/d80/structqla__erase__flash}
\input{d6/d1c/structqla__host}
\input{d2/dfc/structqla__ivec}
\input{d8/dcc/structqla__offchip__mem__val}
\input{d6/d28/structqla__rd__flash}
\input{d2/d0b/structqla__rd__fw__dump}
\input{df/da7/structqla__rd__pci__ids}
\input{d9/dae/structqla__reg__val}
\input{d0/d40/structqla__rx__buf}
\input{d9/d38/structqla__rx__ring}
\input{d6/d5e/unionqla__sgl__comp__t}
\input{d0/d11/structqla__sp__log}
\input{d0/d45/structqla__sp__log__entry}
\input{de/dbe/structqla__tx__buf}
\input{d2/d6e/structqla__wr__flash}
\chapter{File Documentation}
\input{dc/d86/ql__boot_8c}
\input{dc/d86/ql__boot_8c_source}
\input{d4/d0f/ql__dbg_8c}
\input{d4/d0f/ql__dbg_8c_source}
\input{df/db2/ql__dbg_8h}
\input{df/db2/ql__dbg_8h_source}
\input{d2/d40/ql__def_8h}
\input{d2/d40/ql__def_8h_source}
\input{d6/d80/ql__fw_8c}
\input{d6/d80/ql__fw_8c_source}
\input{d2/dea/ql__glbl_8h}
\input{d2/dea/ql__glbl_8h_source}
\input{d8/d18/ql__hw_8c}
\input{d8/d18/ql__hw_8c_source}
\input{df/d7d/ql__hw_8h}
\input{df/d7d/ql__hw_8h_source}
\input{d1/ddb/ql__inline_8h}
\input{d1/ddb/ql__inline_8h_source}
\input{d5/d72/ql__ioctl_8c}
\input{d5/d72/ql__ioctl_8c_source}
\input{d2/dfa/ql__ioctl_8h}
\input{d2/dfa/ql__ioctl_8h_source}
\input{db/db1/ql__isr_8c}
\input{db/db1/ql__isr_8c_source}
\input{d1/d57/ql__minidump_8c}
\input{d1/d57/ql__minidump_8c_source}
\input{df/d4b/ql__minidump_8h}
\input{df/d4b/ql__minidump_8h_source}
\input{d0/dc4/ql__misc_8c}
\input{d0/dc4/ql__misc_8c_source}
\input{d2/dba/ql__os_8c}
\input{d2/dba/ql__os_8c_source}
\input{d7/d4d/ql__os_8h}
\input{d7/d4d/ql__os_8h_source}
\input{df/d62/ql__reset_8c}
\input{df/d62/ql__reset_8c_source}
\input{df/d09/ql__tmplt_8h}
\input{df/d09/ql__tmplt_8h_source}
\input{d6/d0f/ql__ver_8h}
\input{d6/d0f/ql__ver_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}
