\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}{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}


\doxysubsection{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}{\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 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}{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 K\+DB struct during runtime and still maintain the flexibility of easily adding new hook positions. 