  % 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 IICBUS 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 IICBUS 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 IICBUS device code}
\label{index}\hypertarget{index}{}\input{index}
\chapter{Data Structure Index}
\input{annotated}
\chapter{File Index}
\input{files}
\chapter{Data Structure Documentation}
\input{dc/db1/structacpi__iicbus__ivars}
\input{d9/d81/structacpi__iicbus__softc}
\input{da/d8f/structact8846__reg__sc}
\input{dc/d34/structact8846__regdef}
\input{d4/d0b/structact8846__softc}
\input{dc/dd4/structad7417__sensor}
\input{d8/d4e/structad7417__softc}
\input{d6/dfd/structad7418__softc}
\input{dc/d49/structadm1030__softc}
\input{d3/d7b/structads111x__channel}
\input{d4/dd7/structads111x__chipinfo}
\input{d0/d94/structads111x__softc}
\input{de/dbc/structadt746x__fan}
\input{d6/d6c/structadt746x__sensor}
\input{d8/d86/structadt746x__softc}
\input{d9/d28/structchip__info}
\input{d6/df8/structds1307__softc}
\input{d3/d13/structds13__compat__data}
\input{d1/d8a/structds13rtc__softc}
\input{dc/d12/structds1631__softc}
\input{d0/d1c/structds1672__softc}
\input{d3/dfc/structds1775__softc}
\input{d1/df1/structds3231__softc}
\input{d8/d54/structfan53555__reg__sc}
\input{de/df8/structfan53555__softc}
\input{da/db0/structgpiomux__softc}
\input{d3/dc8/structgsb__buffer}
\input{d6/d12/structhtu21__softc}
\input{dc/d66/structhym8563__softc}
\input{d0/dd5/structi2c__hid__desc}
\input{dd/da1/structic__softc}
\input{d0/ded/structicee__softc}
\input{d1/d45/structiic__cdevpriv}
\input{da/dfe/structiic__msg}
\input{da/dcb/structiic__rdwr__data}
\input{d3/d6a/structiic__reqbus__data}
\input{d2/d17/structiic__softc}
\input{da/dbc/structiicbb__softc}
\input{dc/de6/structiicbus__ivar}
\input{da/d92/structiicbus__softc}
\input{d0/dc3/structiiccmd}
\input{d7/d43/structiichid__id}
\input{d4/d51/structiichid__softc}
\input{d3/d88/structiicmux__softc}
\input{d8/dce/structiicoc__softc}
\input{d9/d70/structiicrb__pin__access}
\input{d1/d66/structiicsmb__softc}
\input{dd/d76/structisl12xx__softc}
\input{d4/d4d/structlm75__softc}
\input{d1/d94/structltc430x__softc}
\input{d5/dbf/structmax44009__softc}
\input{d5/d27/structmax6690__sensor}
\input{df/dec/structmax6690__softc}
\input{d8/de0/structnxprtc__compat__data}
\input{d9/dd9/structnxprtc__softc}
\input{d5/dfe/structofw__iicbus__devinfo}
\input{d5/d4a/structpca9547__softc}
\input{d8/dfa/structpca954x__descr}
\input{d4/da4/structpca954x__softc}
\input{d5/d32/structpcf85063__time}
\input{d7/de7/structpcf8574__softc}
\input{dd/db6/structpcf8591__softc}
\input{d2/ddc/structread__data}
\input{dd/d76/structreg__list}
\input{d3/d28/structrk8xx__clk__sc}
\input{d8/d8d/structrk8xx__dev__ctrl}
\input{d8/db0/structrk8xx__reg__sc}
\input{dc/df7/structrk8xx__regdef}
\input{d6/d86/structrk8xx__rtc__reg}
\input{d9/d77/structrk8xx__softc}
\input{d2/d76/structrtc8583__softc}
\input{da/d75/structrx8803__time}
\input{db/d55/structs390rtc__softc}
\input{d9/d74/structsy8106a__reg__sc}
\input{db/da9/structsy8106a__softc}
\input{df/d52/structsyr827__reg__sc}
\input{df/daa/structsyr827__softc}
\input{d7/d84/structtca6408__softc}
\input{d6/d50/structtca6416__softc}
\input{d9/d9c/structtime__regs}
\input{d3/df0/structtwsi__baud__rate}
\input{d5/dfc/structtwsi__softc}
\input{d5/d4d/structwrite__data}
\chapter{File Documentation}
\input{d2/d91/acpi__iicbus_8c}
\input{d2/d91/acpi__iicbus_8c_source}
\input{d1/d86/ad7417_8c}
\input{d1/d86/ad7417_8c_source}
\input{df/d8f/ad7418_8c}
\input{df/d8f/ad7418_8c_source}
\input{d2/d8d/adm1030_8c}
\input{d2/d8d/adm1030_8c_source}
\input{d7/d89/ads111x_8c}
\input{d7/d89/ads111x_8c_source}
\input{d9/d17/adt746x_8c}
\input{d9/d17/adt746x_8c_source}
\input{d1/d83/ds1307_8c}
\input{d1/d83/ds1307_8c_source}
\input{d4/d3e/ds1307reg_8h}
\input{d4/d3e/ds1307reg_8h_source}
\input{d4/dee/ds13rtc_8c}
\input{d4/dee/ds13rtc_8c_source}
\input{dc/d86/ds1631_8c}
\input{dc/d86/ds1631_8c_source}
\input{d3/d9b/ds1672_8c}
\input{d3/d9b/ds1672_8c_source}
\input{da/d2a/ds1775_8c}
\input{da/d2a/ds1775_8c_source}
\input{de/d30/ds3231_8c}
\input{de/d30/ds3231_8c_source}
\input{d9/de8/ds3231reg_8h}
\input{d9/de8/ds3231reg_8h_source}
\input{d4/d92/pcf8574_8c}
\input{d4/d92/pcf8574_8c_source}
\input{da/dc2/tca6408_8c}
\input{da/dc2/tca6408_8c_source}
\input{d5/da2/tca6416_8c}
\input{d5/da2/tca6416_8c_source}
\input{d0/d40/htu21_8c}
\input{d0/d40/htu21_8c_source}
\input{de/d92/icee_8c}
\input{de/d92/icee_8c_source}
\input{d7/da5/if__ic_8c}
\input{d7/da5/if__ic_8c_source}
\input{d3/da6/iic_8c}
\input{d3/da6/iic_8c_source}
\input{d5/dd1/iic_8h}
\input{d5/dd1/iic_8h_source}
\input{d5/db1/iic__recover__bus_8c}
\input{d5/db1/iic__recover__bus_8c_source}
\input{df/d59/iic__recover__bus_8h}
\input{df/d59/iic__recover__bus_8h_source}
\input{d4/dc9/iicbb_8c}
\input{d4/dc9/iicbb_8c_source}
\input{de/dd2/iicbb__if_8m}
\input{de/dd2/iicbb__if_8m_source}
\input{d2/db0/iicbus_8c}
\input{d2/db0/iicbus_8c_source}
\input{d1/db9/iicbus_8h}
\input{d1/db9/iicbus_8h_source}
\input{d4/dbb/iicbus__if_8m}
\input{d4/dbb/iicbus__if_8m_source}
\input{d2/de7/iichid_8c}
\input{d2/de7/iichid_8c_source}
\input{d6/d25/iicoc_8c}
\input{d6/d25/iicoc_8c_source}
\input{d7/dde/iicoc_8h}
\input{d7/dde/iicoc_8h_source}
\input{d1/d25/iicoc__fdt_8c}
\input{d1/d25/iicoc__fdt_8c_source}
\input{df/d34/iicoc__pci_8c}
\input{df/d34/iicoc__pci_8c_source}
\input{db/db8/iiconf_8c}
\input{db/db8/iiconf_8c_source}
\input{d2/d43/iiconf_8h}
\input{d2/d43/iiconf_8h_source}
\input{d2/dfa/iicsmb_8c}
\input{d2/dfa/iicsmb_8c_source}
\input{d9/db5/isl12xx_8c}
\input{d9/db5/isl12xx_8c_source}
\input{d0/d84/lm75_8c}
\input{d0/d84/lm75_8c_source}
\input{d8/d6b/max44009_8c}
\input{d8/d6b/max44009_8c_source}
\input{d4/d48/max6690_8c}
\input{d4/d48/max6690_8c_source}
\input{d8/d8f/iic__gpiomux_8c}
\input{d8/d8f/iic__gpiomux_8c_source}
\input{de/da2/iicmux_8c}
\input{de/da2/iicmux_8c_source}
\input{d8/d30/iicmux_8h}
\input{d8/d30/iicmux_8h_source}
\input{d7/d4b/iicmux__if_8m}
\input{d7/d4b/iicmux__if_8m_source}
\input{d3/d73/ltc430x_8c}
\input{d3/d73/ltc430x_8c_source}
\input{d3/d14/pca9547_8c}
\input{d3/d14/pca9547_8c_source}
\input{d2/dfc/pca954x_8c}
\input{d2/dfc/pca954x_8c_source}
\input{d8/db8/nxprtc_8c}
\input{d8/db8/nxprtc_8c_source}
\input{d7/d0c/ofw__iicbus_8c}
\input{d7/d0c/ofw__iicbus_8c_source}
\input{de/df5/ofw__iicbus__if_8m}
\input{de/df5/ofw__iicbus__if_8m_source}
\input{d8/d69/pcf8591_8c}
\input{d8/d69/pcf8591_8c_source}
\input{d1/dab/act8846_8c}
\input{d1/dab/act8846_8c_source}
\input{db/d81/act8846_8h}
\input{db/d81/act8846_8h_source}
\input{df/d25/act8846__reg_8h}
\input{df/d25/act8846__reg_8h_source}
\input{dc/ded/act8846__regulator_8c}
\input{dc/ded/act8846__regulator_8c_source}
\input{d6/d6a/fan53555_8c}
\input{d6/d6a/fan53555_8c_source}
\input{dd/d16/rk805_8c}
\input{dd/d16/rk805_8c_source}
\input{d2/d97/rk805reg_8h}
\input{d2/d97/rk805reg_8h_source}
\input{d9/d74/rk808_8c}
\input{d9/d74/rk808_8c_source}
\input{dd/dec/rk808reg_8h}
\input{dd/dec/rk808reg_8h_source}
\input{d7/d56/rk8xx_8c}
\input{d7/d56/rk8xx_8c_source}
\input{dc/d07/rk8xx_8h}
\input{dc/d07/rk8xx_8h_source}
\input{da/dbc/rk8xx__clocks_8c}
\input{da/dbc/rk8xx__clocks_8c_source}
\input{db/d70/rk8xx__regulators_8c}
\input{db/d70/rk8xx__regulators_8c_source}
\input{db/de6/rk8xx__rtc_8c}
\input{db/de6/rk8xx__rtc_8c_source}
\input{d0/de4/hym8563_8c}
\input{d0/de4/hym8563_8c_source}
\input{d4/d72/pcf85063_8c}
\input{d4/d72/pcf85063_8c_source}
\input{d5/d38/rx8803_8c}
\input{d5/d38/rx8803_8c_source}
\input{d4/dd5/rtc8583_8c}
\input{d4/dd5/rtc8583_8c_source}
\input{d2/df2/s35390a_8c}
\input{d2/df2/s35390a_8c_source}
\input{d3/d60/sy8106a_8c}
\input{d3/d60/sy8106a_8c_source}
\input{d1/d52/syr827_8c}
\input{d1/d52/syr827_8c_source}
\input{da/d5e/tmp461_8c}
\input{da/d5e/tmp461_8c_source}
\input{d0/dbc/a10__twsi_8c}
\input{d0/dbc/a10__twsi_8c_source}
\input{d4/d16/mv__twsi_8c}
\input{d4/d16/mv__twsi_8c_source}
\input{d4/d99/twsi_8c}
\input{d4/d99/twsi_8c_source}
\input{dc/db0/twsi_8h}
\input{dc/db0/twsi_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}
