refman.tex 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. % Handle batch mode
  2. % to overcome problems with too many open files
  3. \let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}
  4. \RequirePackage{iftex}
  5. \ifLuaTeX
  6. \directlua{pdf.setminorversion(7)}
  7. \fi
  8. \ifXeTeX
  9. \special{pdf:minorversion 7}
  10. \fi
  11. \ifPDFTeX
  12. \pdfminorversion=7
  13. \fi
  14. % Set document class depending on configuration
  15. \documentclass[twoside]{book}
  16. % Packages required by doxygen
  17. \makeatletter
  18. \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
  19. % suppress package identification of infwarerr as it contains the word "warning"
  20. \let\@@protected@wlog\protected@wlog
  21. \def\protected@wlog#1{\wlog{package info suppressed}}
  22. \RequirePackage{infwarerr}
  23. \let\protected@wlog\@@protected@wlog
  24. \makeatother
  25. \IfFormatAtLeastTF{2016/01/01}{}{\usepackage{fixltx2e}} % for \textsubscript
  26. \ifPDFTeX
  27. \IfFormatAtLeastTF{2015/01/01}{\pdfsuppresswarningpagegroup=1}{}
  28. \fi
  29. \usepackage{doxygen}
  30. \usepackage{graphicx}
  31. \iftutex
  32. \usepackage{fontspec}
  33. \defaultfontfeatures{Ligatures={TeX}}
  34. \usepackage{unicode-math}
  35. \else
  36. \usepackage[utf8]{inputenc}
  37. \fi
  38. \usepackage{makeidx}
  39. \PassOptionsToPackage{warn}{textcomp}
  40. \usepackage{textcomp}
  41. \usepackage[nointegrals]{wasysym}
  42. \usepackage{ifxetex}
  43. % NLS support packages
  44. % Define default fonts
  45. % Font selection
  46. \iftutex
  47. \else
  48. \usepackage[T1]{fontenc}
  49. \fi
  50. % set main and monospaced font
  51. \usepackage[scaled=.90]{helvet}
  52. \usepackage{courier}
  53. \renewcommand{\familydefault}{\sfdefault}
  54. \doxyallsectionsfont{%
  55. \fontseries{bc}\selectfont%
  56. \color{darkgray}%
  57. }
  58. \renewcommand{\DoxyLabelFont}{%
  59. \fontseries{bc}\selectfont%
  60. \color{darkgray}%
  61. }
  62. \newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
  63. % Arguments of doxygenemoji:
  64. % 1) ':<text>:' form of the emoji, already LaTeX-escaped
  65. % 2) file with the name of the emoji without the .png extension
  66. % in case image exist use this otherwise use the ':<text>:' form
  67. \newcommand{\doxygenemoji}[2]{%
  68. \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
  69. }
  70. % Page & text layout
  71. \usepackage{geometry}
  72. \geometry{%
  73. a4paper,%
  74. top=2.5cm,%
  75. bottom=2.5cm,%
  76. left=2.5cm,%
  77. right=2.5cm%
  78. }
  79. \usepackage{changepage}
  80. % Allow a bit of overflow to go unnoticed by other means
  81. \tolerance=750
  82. \hfuzz=15pt
  83. \hbadness=750
  84. \setlength{\emergencystretch}{15pt}
  85. \setlength{\parindent}{0cm}
  86. \newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
  87. \newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
  88. \doxynormalparskip
  89. % Redefine paragraph/subparagraph environments, using sectsty fonts
  90. \makeatletter
  91. \renewcommand{\paragraph}{%
  92. \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
  93. \normalfont\normalsize\bfseries\SS@parafont%
  94. }%
  95. }
  96. \renewcommand{\subparagraph}{%
  97. \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
  98. \normalfont\normalsize\bfseries\SS@subparafont%
  99. }%
  100. }
  101. \makeatother
  102. \makeatletter
  103. \newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@}
  104. \makeatother
  105. % Headers & footers
  106. \usepackage{fancyhdr}
  107. \pagestyle{fancyplain}
  108. \renewcommand{\footrulewidth}{0.4pt}
  109. \fancypagestyle{fancyplain}{
  110. \fancyhf{}
  111. \fancyhead[LE, RO]{\bfseries\thepage}
  112. \fancyhead[LO]{\bfseries\rightmark}
  113. \fancyhead[RE]{\bfseries\leftmark}
  114. \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
  115. }
  116. \fancypagestyle{plain}{
  117. \fancyhf{}
  118. \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
  119. \renewcommand{\headrulewidth}{0pt}
  120. }
  121. \pagestyle{fancyplain}
  122. \renewcommand{\chaptermark}[1]{%
  123. \markboth{#1}{}%
  124. }
  125. \renewcommand{\sectionmark}[1]{%
  126. \markright{\thesection\ #1}%
  127. }
  128. % ToC, LoF, LoT, bibliography, and index
  129. % Indices & bibliography
  130. \usepackage[numbers]{natbib}
  131. \usepackage[titles]{tocloft}
  132. \setcounter{tocdepth}{3}
  133. \setcounter{secnumdepth}{5}
  134. % creating indexes
  135. \makeindex
  136. \ifPDFTeX
  137. \usepackage{newunicodechar}
  138. \makeatletter
  139. \def\doxynewunicodechar#1#2{%
  140. \@tempswafalse
  141. \edef\nuc@tempa{\detokenize{#1}}%
  142. \if\relax\nuc@tempa\relax
  143. \nuc@emptyargerr
  144. \else
  145. \edef\@tempb{\expandafter\@car\nuc@tempa\@nil}%
  146. \nuc@check
  147. \if@tempswa
  148. \@namedef{u8:\nuc@tempa}{#2}%
  149. \fi
  150. \fi
  151. }
  152. \makeatother
  153. \doxynewunicodechar{⁻}{${}^{-}$}% Superscript minus
  154. \doxynewunicodechar{²}{${}^{2}$}% Superscript two
  155. \doxynewunicodechar{³}{${}^{3}$}% Superscript three
  156. \fi
  157. % Hyperlinks
  158. % Hyperlinks (required, but should be loaded last)
  159. \ifPDFTeX
  160. \usepackage[pdftex,pagebackref=true]{hyperref}
  161. \else
  162. \ifXeTeX
  163. \usepackage[xetex,pagebackref=true]{hyperref}
  164. \else
  165. \ifLuaTeX
  166. \usepackage[luatex,pagebackref=true]{hyperref}
  167. \else
  168. \usepackage[ps2pdf,pagebackref=true]{hyperref}
  169. \fi
  170. \fi
  171. \fi
  172. \hypersetup{%
  173. colorlinks=true,%
  174. linkcolor=blue,%
  175. citecolor=blue,%
  176. unicode,%
  177. pdftitle={tinykernel},%
  178. pdfsubject={}%
  179. }
  180. % Custom commands used by the header
  181. % Custom commands
  182. \newcommand{\clearemptydoublepage}{%
  183. \newpage{\pagestyle{empty}\cleardoublepage}%
  184. }
  185. % caption style definition
  186. \usepackage{caption}
  187. \captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
  188. % in page table of contents
  189. \IfFormatAtLeastTF{2023/05/01}{\usepackage[deeplevels]{etoc}}{\usepackage[deeplevels]{etoc_doxygen}}
  190. \etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
  191. \etocsetlevel{subsubsubsection}{4}
  192. \etocsetlevel{subsubsubsubsection}{5}
  193. \etocsetlevel{subsubsubsubsubsection}{6}
  194. \etocsetlevel{subsubsubsubsubsubsection}{7}
  195. \etocsetlevel{paragraph}{8}
  196. \etocsetlevel{subparagraph}{9}
  197. % prevent numbers overlap the titles in toc
  198. \renewcommand{\numberline}[1]{#1~}
  199. % End of preamble, now comes the document contents
  200. %===== C O N T E N T S =====
  201. \begin{document}
  202. \raggedbottom
  203. % Titlepage & ToC
  204. % To avoid duplicate page anchors due to reuse of same numbers for
  205. % the index (be it as roman numbers)
  206. \hypersetup{pageanchor=false,
  207. bookmarksnumbered=true,
  208. pdfencoding=unicode
  209. }
  210. \pagenumbering{alph}
  211. \begin{titlepage}
  212. \vspace*{7cm}
  213. \begin{center}%
  214. {\Large tinykernel}\\
  215. \vspace*{1cm}
  216. {\large Generated by Doxygen 1.18.0}\\
  217. \end{center}
  218. \end{titlepage}
  219. \clearemptydoublepage
  220. \pagenumbering{roman}
  221. \tableofcontents
  222. \clearemptydoublepage
  223. \pagenumbering{arabic}
  224. % re-enable anchors again
  225. \hypersetup{pageanchor=true}
  226. %--- Begin generated contents ---
  227. \chapter{Directory Hierarchy}
  228. \input{dirs}
  229. \chapter{Namespace Index}
  230. \input{namespaces}
  231. \chapter{Class Index}
  232. \input{annotated}
  233. \chapter{File Index}
  234. \input{files}
  235. \chapter{Directory Documentation}
  236. \input{dir_34ae86e414c9a960c5c39d1d6b15c7a8}
  237. \input{dir_6d4b68ea9176da934383ead6eaf0491a}
  238. \input{dir_9b10c2ff4e034627dc7271865b055c64}
  239. \input{dir_5c27857cec97849c25650021b743744e}
  240. \input{dir_57f08cdb50348f663244f527066db34a}
  241. \input{dir_01f710e8c634e538c6d9f00c5eaf4f2e}
  242. \input{dir_065670814960ad9cf60e14e38242ec92}
  243. \input{dir_91e9b2eecded889eb8782a5ba7843b6a}
  244. \chapter{Namespace Documentation}
  245. \input{namespacetk}
  246. \input{namespacetk_1_1detail}
  247. \chapter{Class Documentation}
  248. \input{classtk_1_1_actor}
  249. \input{classtk_1_1_event_hub}
  250. \input{struct_fpu_ctx}
  251. \input{classtk_1_1_lock_guard}
  252. \input{structtk_1_1_message}
  253. \input{classtk_1_1_mutex}
  254. \input{classtk_1_1_preempt_guard}
  255. \input{classtk_1_1_semaphore}
  256. \input{structtk_1_1_task_handle}
  257. \chapter{File Documentation}
  258. \input{actor_8hpp}
  259. \input{actor_8hpp_source}
  260. \input{kernel_8hpp}
  261. \input{kernel_8hpp_source}
  262. \input{sync_8hpp}
  263. \input{sync_8hpp_source}
  264. \input{port__m33_8c}
  265. \input{port__m33_8h}
  266. \input{port__m33_8h_source}
  267. \input{scheduler_8cpp}
  268. %--- End generated contents ---
  269. % Index
  270. \backmatter
  271. \newpage
  272. \phantomsection
  273. \clearemptydoublepage
  274. \addcontentsline{toc}{chapter}{\indexname}
  275. \printindex
  276. % Required for some languages (in combination with latexdocumentpre from the header)
  277. \end{document}