\hypertarget{kdbglobal_8h}{}\section{kdbglobal.\+h File Reference}
\label{kdbglobal_8h}\index{kdbglobal.\+h@{kdbglobal.\+h}}


Defines for global plugins.  


{\ttfamily \#include $<$kdb.\+h$>$}\newline
{\ttfamily \#include $<$kdbconfig.\+h$>$}\newline
{\ttfamily \#include $<$kdbplugin.\+h$>$}\newline
Include dependency graph for kdbglobal.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=347pt]{kdbglobal_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{kdbglobal_8h__dep__incl}
\end{center}
\end{figure}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{kdbglobal_8h_a7a4747d29627de61fb3bc38a39933593}{F\+O\+R\+E\+A\+C\+H\+\_\+\+P\+O\+S\+I\+T\+I\+ON}(P\+O\+S\+I\+T\+I\+ON)
\begin{DoxyCompactList}\small\item\em Helper for identifying global plugin positions. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Defines for global plugins. 

\begin{DoxyCopyright}{Copyright}
B\+SD License (see doc/\+C\+O\+P\+Y\+I\+NG or \href{https://www.libelektra.org}{\tt https\+://www.\+libelektra.\+org}) 
\end{DoxyCopyright}


\subsection{Macro Definition Documentation}
\mbox{\Hypertarget{kdbglobal_8h_a7a4747d29627de61fb3bc38a39933593}\label{kdbglobal_8h_a7a4747d29627de61fb3bc38a39933593}} 
\index{kdbglobal.\+h@{kdbglobal.\+h}!F\+O\+R\+E\+A\+C\+H\+\_\+\+P\+O\+S\+I\+T\+I\+ON@{F\+O\+R\+E\+A\+C\+H\+\_\+\+P\+O\+S\+I\+T\+I\+ON}}
\index{F\+O\+R\+E\+A\+C\+H\+\_\+\+P\+O\+S\+I\+T\+I\+ON@{F\+O\+R\+E\+A\+C\+H\+\_\+\+P\+O\+S\+I\+T\+I\+ON}!kdbglobal.\+h@{kdbglobal.\+h}}
\subsubsection{\texorpdfstring{F\+O\+R\+E\+A\+C\+H\+\_\+\+P\+O\+S\+I\+T\+I\+ON}{FOREACH\_POSITION}}
{\footnotesize\ttfamily \#define F\+O\+R\+E\+A\+C\+H\+\_\+\+P\+O\+S\+I\+T\+I\+ON(\begin{DoxyParamCaption}\item[{}]{P\+O\+S\+I\+T\+I\+ON }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
POSITION(PREROLLBACK) \(\backslash\)
        POSITION(ROLLBACK) \(\backslash\)
        POSITION(POSTROLLBACK) \(\backslash\)
        POSITION(GETRESOLVER) \(\backslash\)
        POSITION(PREGETSTORAGE) \(\backslash\)
        POSITION(GETSTORAGE) \(\backslash\)
        POSITION(POSTGETSTORAGE) \(\backslash\)
        POSITION(SETRESOLVER) \(\backslash\)
        POSITION(POSTGETCLEANUP) \(\backslash\)
        POSITION(PRESETSTORAGE) \(\backslash\)
        POSITION(SETSTORAGE) \(\backslash\)
        POSITION(PRESETCLEANUP) \(\backslash\)
        POSITION(PRECOMMIT) \(\backslash\)
        POSITION(COMMIT) \(\backslash\)
        POSITION(POSTCOMMIT) \(\backslash\)
        POSITION(NR\_GLOBAL\_POSITIONS)
\end{DoxyCode}


Helper for identifying global plugin positions. 

We chose using these macros over other solutions in order to have the array available statically. Thus we can avoid initializing the K\+DB struct during runtime and still maintain the flexibility of easily adding new hook positions. 