% variables, macros, and everything can be useul,
%
\newcommand{\cmd}[1]{\texttt{#1}} % shell command
-\newcommand{\func}[1]{\texttt{#1}} % library function (or system call)
+\newcommand{\code}[1]{\texttt{#1}} % for simple code
+\newcommand{\func}[1]{%
+\index{#1@{\tt {#1}}}\texttt{#1}%
+} % library function (or system call)
\newcommand{\macro}[1]{\texttt{#1}} % macro constant
\newcommand{\var}[1]{\texttt{#1}} % variable
\newcommand{\file}[1]{\texttt{#1}} % file name
\newcommand{\link}[1]{\texttt{#1}} % html link
-\newcommand{\type}[1]{\texttt{#1}} % variable type
+\newcommand{\ctyp}[1]{\texttt{#1}} % C standard type
+\newcommand{\type}[1]{%
+\index{#1@{\tt {#1}}}\texttt{#1}%
+} % system type
\newcommand{\param}[1]{\texttt{#1}} % function parameter
\newcommand{\acr}[1]{\textsl{#1}} % acrostic (for pid, suid, etc.)