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


Defines for global plugins.  


{\ttfamily \#include $<$kdb.\+h$>$}\newline
{\ttfamily \#include $<$kdbmacros.\+h$>$}\newline
{\ttfamily \#include $<$kdbplugin.\+h$>$}\newline
Include dependency graph for kdbglobal.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{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}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{kdbglobal_8h_a7a4747d29627de61fb3bc38a39933593}{FOREACH\+\_\+\+POSITION}}(POSITION)
\begin{DoxyCompactList}\small\item\em Helper for identifying global plugin positions. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Defines for global plugins. 

\begin{DoxyCopyright}{Copyright}
BSD License (see doc/\+COPYING or \href{https://www.libelektra.org}{\texttt{ https\+://www.\+libelektra.\+org}}) 
\end{DoxyCopyright}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{kdbglobal_8h_a7a4747d29627de61fb3bc38a39933593}\label{kdbglobal_8h_a7a4747d29627de61fb3bc38a39933593}} 
\index{kdbglobal.h@{kdbglobal.h}!FOREACH\_POSITION@{FOREACH\_POSITION}}
\index{FOREACH\_POSITION@{FOREACH\_POSITION}!kdbglobal.h@{kdbglobal.h}}
\doxysubsubsection{\texorpdfstring{FOREACH\_POSITION}{FOREACH\_POSITION}}
{\footnotesize\ttfamily \#define FOREACH\+\_\+\+POSITION(\begin{DoxyParamCaption}\item[{}]{POSITION }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        POSITION(PREROLLBACK) \(\backslash\)}
\DoxyCodeLine{        POSITION(ROLLBACK) \(\backslash\)}
\DoxyCodeLine{        POSITION(POSTROLLBACK) \(\backslash\)}
\DoxyCodeLine{        POSITION(GETRESOLVER) \(\backslash\)}
\DoxyCodeLine{        POSITION(PREGETCACHE) \(\backslash\)}
\DoxyCodeLine{        POSITION(PREGETSTORAGE) \(\backslash\)}
\DoxyCodeLine{        POSITION(GETSTORAGE) \(\backslash\)}
\DoxyCodeLine{        POSITION(PROCGETSTORAGE) \(\backslash\)}
\DoxyCodeLine{        POSITION(POSTGETSTORAGE) \(\backslash\)}
\DoxyCodeLine{        POSITION(POSTGETCACHE) \(\backslash\)}
\DoxyCodeLine{        POSITION(SETRESOLVER) \(\backslash\)}
\DoxyCodeLine{        POSITION(POSTGETCLEANUP) \(\backslash\)}
\DoxyCodeLine{        POSITION(PRESETSTORAGE) \(\backslash\)}
\DoxyCodeLine{        POSITION(SETSTORAGE) \(\backslash\)}
\DoxyCodeLine{        POSITION(PRESETCLEANUP) \(\backslash\)}
\DoxyCodeLine{        POSITION(PRECOMMIT) \(\backslash\)}
\DoxyCodeLine{        POSITION(COMMIT) \(\backslash\)}
\DoxyCodeLine{        POSITION(POSTCOMMIT) \(\backslash\)}
\DoxyCodeLine{        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 KDB struct during runtime and still maintain the flexibility of easily adding new hook positions. 