\hypertarget{io_8c}{}\section{io.\+c File Reference}
\label{io_8c}\index{io.\+c@{io.\+c}}


Implementation of I/O functions as defined in \hyperlink{kdbio_8h}{kdbio.\+h}.  


{\ttfamily \#include $<$kdbhelper.\+h$>$}\newline
{\ttfamily \#include $<$kdbio.\+h$>$}\newline
{\ttfamily \#include $<$kdbioplugin.\+h$>$}\newline
{\ttfamily \#include $<$kdbioprivate.\+h$>$}\newline
{\ttfamily \#include $<$kdblogger.\+h$>$}\newline
{\ttfamily \#include $<$kdbprivate.\+h$>$}\newline
{\ttfamily \#include $<$stdio.\+h$>$}\newline
Include dependency graph for io.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{io_8c__incl}
\end{center}
\end{figure}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{group__kdbio_ga187345483bdfbb404919c6797bc2db77}{elektra\+Io\+Set\+Binding} (K\+DB $\ast$kdb, \hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$io\+Binding)
\begin{DoxyCompactList}\small\item\em Set I/O binding for asynchronous I/O operations for K\+DB instance. \end{DoxyCompactList}\item 
\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$ \hyperlink{io_8c_a030d0fb13976123142082ab1f378b170}{elektra\+Io\+Get\+Binding} (K\+DB $\ast$kdb)
\begin{DoxyCompactList}\small\item\em Get I/O binding for asynchronous I/O operations for K\+DB instance. \end{DoxyCompactList}\item 
\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$ \hyperlink{io_8c_a8dd14e7bd04afb798ea30ff8feb5f3a6}{elektra\+Io\+New\+Binding} (\hyperlink{kdbio_8h_addbfc876a15d0b8864196c67ab3e5a26}{Elektra\+Io\+Binding\+Add\+Fd} $\ast$add\+Fd, \hyperlink{kdbio_8h_acdb75b8df54c2b64980cf541b2704f37}{Elektra\+Io\+Binding\+Update\+Fd} $\ast$update\+Fd, \hyperlink{kdbio_8h_af1d03ff367130892ec3d1f4788eb8277}{Elektra\+Io\+Binding\+Remove\+Fd} $\ast$remove\+Fd, \hyperlink{kdbio_8h_a61a8f37e371b8360c92222f58f4691eb}{Elektra\+Io\+Binding\+Add\+Timer} $\ast$add\+Timer, \hyperlink{kdbio_8h_ab50f6288380aba507d27a0d66e00d8b4}{Elektra\+Io\+Binding\+Update\+Timer} $\ast$update\+Timer, \hyperlink{kdbio_8h_a00c0ffb60386fd65869367280d1ffe62}{Elektra\+Io\+Binding\+Remove\+Timer} $\ast$remove\+Timer, \hyperlink{kdbio_8h_adcfdf9f514441cabfbfd064fe4021522}{Elektra\+Io\+Binding\+Add\+Idle} $\ast$add\+Idle, \hyperlink{kdbio_8h_af4fa5e05e59022b5d5421932882fc966}{Elektra\+Io\+Binding\+Update\+Idle} $\ast$update\+Idle, \hyperlink{kdbio_8h_a23b523b54e70df91a85c95583b6c958f}{Elektra\+Io\+Binding\+Remove\+Idle} $\ast$remove\+Idle, \hyperlink{kdbio_8h_a08d3ce531bbd1c5acedbdb9822b24d6d}{Elektra\+Io\+Binding\+Cleanup} $\ast$cleanup)
\begin{DoxyCompactList}\small\item\em Create a new I/O binding. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_ae627f418a47aa1bba9d8a8b219a178ef}{elektra\+Io\+Binding\+Add\+Fd} (\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$binding, \hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$fd\+Op)
\begin{DoxyCompactList}\small\item\em Add file descriptor to be watched by I/O binding. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_ac5cc25f98aae763dd38abbd1636d5989}{elektra\+Io\+Binding\+Update\+Fd} (\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$fd\+Op)
\begin{DoxyCompactList}\small\item\em Notify I/O binding about changes to file descriptor watch operation. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_aa6c7130890b80aa37e447421bf5b9771}{elektra\+Io\+Binding\+Remove\+Fd} (\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$fd\+Op)
\begin{DoxyCompactList}\small\item\em Remove file descriptor from I/O binding. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_a1d61dca5ec35900c33224d82711c0bdb}{elektra\+Io\+Binding\+Add\+Timer} (\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$binding, \hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$timer\+Op)
\begin{DoxyCompactList}\small\item\em Add timer to I/O binding. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_add5679a2ff842d88435938d629497e27}{elektra\+Io\+Binding\+Update\+Timer} (\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$timer\+Op)
\begin{DoxyCompactList}\small\item\em Notifiy I/O binding about changes to timer structure. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_aeab10975f6a3f62b6697449b6024c2bd}{elektra\+Io\+Binding\+Remove\+Timer} (\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$timer\+Op)
\begin{DoxyCompactList}\small\item\em Remove timer from I/O binding. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_adb193e48abda11fcfc2ff11d1255dcb4}{elektra\+Io\+Binding\+Add\+Idle} (\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$binding, \hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$idle\+Op)
\begin{DoxyCompactList}\small\item\em Add idle to I/O binding. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_a3a3762aa62f97805654a6a0f6b4bf71e}{elektra\+Io\+Binding\+Update\+Idle} (\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$idle\+Op)
\begin{DoxyCompactList}\small\item\em Notifiy I/O binding about changes to idle structure. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_aef005788f6b6f89c72f740abcd352208}{elektra\+Io\+Binding\+Remove\+Idle} (\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$idle\+Op)
\begin{DoxyCompactList}\small\item\em Remove idle from I/O binding. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_a062e9d7d5305201dfe5ba437f3f03224}{elektra\+Io\+Binding\+Cleanup} (\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$binding)
\begin{DoxyCompactList}\small\item\em Free memory used by I/O binding. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{io_8c_a5715a87848f486f4d631efb3a21909b2}{elektra\+Io\+Binding\+Get\+Data} (\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$binding)
\begin{DoxyCompactList}\small\item\em Get private data from I/O Binding. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_a6021718783b36ca71bb465bc08a682cc}{elektra\+Io\+Binding\+Set\+Data} (\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$binding, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Set private data from I/O Binding. \end{DoxyCompactList}\item 
\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$ \hyperlink{io_8c_a3804183da1aecdfcf09455d246c3891c}{elektra\+Io\+New\+Fd\+Operation} (int fd, int flags, int enabled, \hyperlink{kdbio_8h_a37a08867edb5ecac91ed8eaf1de6dea0}{Elektra\+Io\+Fd\+Callback} callback, void $\ast$private\+Data)
\begin{DoxyCompactList}\small\item\em Create a new file descriptor watch operation. \end{DoxyCompactList}\item 
\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$ \hyperlink{io_8c_a67a0a81d263e0a7853809144c4ea5198}{elektra\+Io\+New\+Timer\+Operation} (unsigned int interval, int enabled, \hyperlink{kdbio_8h_a4b4c6a59e26539b408f8190c2ee9c3ea}{Elektra\+Io\+Timer\+Callback} callback, void $\ast$private\+Data)
\begin{DoxyCompactList}\small\item\em Create a new timer operation. \end{DoxyCompactList}\item 
\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$ \hyperlink{io_8c_a0fae3b2f6070646fcc604fd7d172814a}{elektra\+Io\+New\+Idle\+Operation} (int enabled, \hyperlink{kdbio_8h_a3ec8fa1e7f20e6998f8724254e042d12}{Elektra\+Io\+Idle\+Callback} callback, void $\ast$private\+Data)
\begin{DoxyCompactList}\small\item\em Create a new idle operation. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_a56f8b0059e6c7708681624d1994e4b44}{elektra\+Io\+Fd\+Set\+Enabled} (\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$fd\+Op, int enabled)
\begin{DoxyCompactList}\small\item\em Enable or disable file descriptor watch operation. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_a1fd34686b0b3b1db5f460ea8c40ba5a8}{elektra\+Io\+Fd\+Set\+Flags} (\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$fd\+Op, int flags)
\begin{DoxyCompactList}\small\item\em Update flag bitmask of file descriptor watch operation. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_a301cebc4da212bdb3aac0ad84f70ad85}{elektra\+Io\+Timer\+Set\+Enabled} (\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$timer\+Op, int enabled)
\begin{DoxyCompactList}\small\item\em Enable or disable timer operation. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_a3e317e4c6e5869f296261c24312507ed}{elektra\+Io\+Timer\+Set\+Interval} (\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$timer\+Op, unsigned int interval)
\begin{DoxyCompactList}\small\item\em Update interval of timer operation. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_adf8e1dbd0edf0deb0f7f3ff734952e73}{elektra\+Io\+Idle\+Set\+Enabled} (\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$idle\+Op, int enabled)
\begin{DoxyCompactList}\small\item\em Enable or disable idle operation. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_a7dec6afadd09f6350f9ad642906fc88a}{elektra\+Io\+Fd\+Get\+Fd} (\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$fd\+Op)
\begin{DoxyCompactList}\small\item\em Get file descriptor number from operation. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{io_8c_a6a2a281c9e437dd1d660f1310fa06108}{elektra\+Io\+Fd\+Get\+Data} (\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$fd\+Op)
\begin{DoxyCompactList}\small\item\em Get private data from operation. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_ae02ec122aafa67b7dd92d9c3daa6499e}{elektra\+Io\+Fd\+Set\+Binding\+Data} (\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$fd\+Op, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Set private binding data for operation. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{io_8c_a6103b457ed1440d0490acf0a6ec17386}{elektra\+Io\+Fd\+Get\+Binding\+Data} (\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$fd\+Op)
\begin{DoxyCompactList}\small\item\em Get private binding data from operation. \end{DoxyCompactList}\item 
\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$ \hyperlink{io_8c_abce96e3554f0115ec0658054c1fbbf7a}{elektra\+Io\+Fd\+Get\+Binding} (\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$fd\+Op)
\begin{DoxyCompactList}\small\item\em Get binding from operation. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_af35cfd8a33db0170e06cb8c3cdc08244}{elektra\+Io\+Fd\+Is\+Enabled} (\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$fd\+Op)
\begin{DoxyCompactList}\small\item\em Check if file descriptor watch operation is enabled or disabled. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_a8e2d356be0d89af3e46ebc8ce675db37}{elektra\+Io\+Fd\+Get\+Flags} (\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$fd\+Op)
\begin{DoxyCompactList}\small\item\em Get flag bitmask of file descriptor watch operation. \end{DoxyCompactList}\item 
\hyperlink{kdbio_8h_a37a08867edb5ecac91ed8eaf1de6dea0}{Elektra\+Io\+Fd\+Callback} \hyperlink{io_8c_a885381fdd55cf957af1d65db7522899a}{elektra\+Io\+Fd\+Get\+Callback} (\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$fd\+Op)
\begin{DoxyCompactList}\small\item\em Get callback of file descriptor watch operation. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_a9b017f132fbd35ec1840ca1633b28587}{elektra\+Io\+Timer\+Set\+Binding\+Data} (\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$timer\+Op, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Set private binding data for operation. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{io_8c_a319f07d3db470959b2ce83c83c970bae}{elektra\+Io\+Timer\+Get\+Binding\+Data} (\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$timer\+Op)
\begin{DoxyCompactList}\small\item\em Get private binding data from operation. \end{DoxyCompactList}\item 
\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$ \hyperlink{io_8c_a65cdb9d3e76630e5eb607f1a4188337e}{elektra\+Io\+Timer\+Get\+Binding} (\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$timer\+Op)
\begin{DoxyCompactList}\small\item\em Get binding from operation. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{io_8c_aa5e164c1d42f58d27babd0f55c1a68a0}{elektra\+Io\+Timer\+Get\+Data} (\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$timer\+Op)
\begin{DoxyCompactList}\small\item\em Get private data from operation. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_a6d9608907e850d59c320560868eb4d7d}{elektra\+Io\+Timer\+Is\+Enabled} (\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$timer\+Op)
\begin{DoxyCompactList}\small\item\em Check if timer operation is enabled or disabled. \end{DoxyCompactList}\item 
unsigned int \hyperlink{io_8c_abc383110a8cb712a0a35b958b4e446ea}{elektra\+Io\+Timer\+Get\+Interval} (\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$timer\+Op)
\begin{DoxyCompactList}\small\item\em Get interval of timer operation. \end{DoxyCompactList}\item 
\hyperlink{kdbio_8h_a4b4c6a59e26539b408f8190c2ee9c3ea}{Elektra\+Io\+Timer\+Callback} \hyperlink{io_8c_af51e591d41d2ed691e4f52ba27975981}{elektra\+Io\+Timer\+Get\+Callback} (\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$timer\+Op)
\begin{DoxyCompactList}\small\item\em Get callback of timer operation. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_a612ae6341f859f2d679e8934792ab106}{elektra\+Io\+Idle\+Set\+Binding\+Data} (\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$idle\+Op, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Set private binding data for operation. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{io_8c_a003cada71446bc7be373812ad58bd693}{elektra\+Io\+Idle\+Get\+Binding\+Data} (\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$idle\+Op)
\begin{DoxyCompactList}\small\item\em Get private binding data from operation. \end{DoxyCompactList}\item 
\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$ \hyperlink{io_8c_afc5f98604846bdffe894e8957e05294d}{elektra\+Io\+Idle\+Get\+Binding} (\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$idle\+Op)
\begin{DoxyCompactList}\small\item\em Get binding from operation. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{io_8c_a09e19ff74ebfebcbcc03b4ed580aec62}{elektra\+Io\+Idle\+Get\+Data} (\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$idle\+Op)
\begin{DoxyCompactList}\small\item\em Get private data from operation. \end{DoxyCompactList}\item 
int \hyperlink{io_8c_adcd861c03e34441cf861fa101e8b3817}{elektra\+Io\+Idle\+Is\+Enabled} (\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$idle\+Op)
\begin{DoxyCompactList}\small\item\em Check if idle operation is enabled or disabled. \end{DoxyCompactList}\item 
\hyperlink{kdbio_8h_a3ec8fa1e7f20e6998f8724254e042d12}{Elektra\+Io\+Idle\+Callback} \hyperlink{io_8c_ab8fdd3f373abb4fe10d49dfc2cc25509}{elektra\+Io\+Idle\+Get\+Callback} (\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$idle\+Op)
\begin{DoxyCompactList}\small\item\em Get callback of idle operation. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Implementation of I/O functions as defined in \hyperlink{kdbio_8h}{kdbio.\+h}. 

\begin{DoxyCopyright}{Copyright}
B\+SD License (see L\+I\+C\+E\+N\+S\+E.\+md or \href{https://www.libelektra.org}{\tt https\+://www.\+libelektra.\+org}) 
\end{DoxyCopyright}


\subsection{Function Documentation}
\mbox{\Hypertarget{io_8c_ae627f418a47aa1bba9d8a8b219a178ef}\label{io_8c_ae627f418a47aa1bba9d8a8b219a178ef}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Binding\+Add\+Fd@{elektra\+Io\+Binding\+Add\+Fd}}
\index{elektra\+Io\+Binding\+Add\+Fd@{elektra\+Io\+Binding\+Add\+Fd}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Binding\+Add\+Fd()}{elektraIoBindingAddFd()}}
{\footnotesize\ttfamily int elektra\+Io\+Binding\+Add\+Fd (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$}]{binding,  }\item[{\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$}]{fd\+Op }\end{DoxyParamCaption})}



Add file descriptor to be watched by I/O binding. 

An operation may only be added to one binding.


\begin{DoxyParams}{Parameters}
{\em binding} & I/O binding handle \\
\hline
{\em fd\+Op} & file desciptor opertation handle \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_adb193e48abda11fcfc2ff11d1255dcb4}\label{io_8c_adb193e48abda11fcfc2ff11d1255dcb4}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Binding\+Add\+Idle@{elektra\+Io\+Binding\+Add\+Idle}}
\index{elektra\+Io\+Binding\+Add\+Idle@{elektra\+Io\+Binding\+Add\+Idle}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Binding\+Add\+Idle()}{elektraIoBindingAddIdle()}}
{\footnotesize\ttfamily int elektra\+Io\+Binding\+Add\+Idle (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$}]{binding,  }\item[{\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$}]{idle\+Op }\end{DoxyParamCaption})}



Add idle to I/O binding. 

Idle callbacks are executed without negative effects on other IO sources or the application (e.\+g. next event loop iteration) An operation may only be added to one binding.


\begin{DoxyParams}{Parameters}
{\em binding} & I/O binding handle \\
\hline
{\em idle\+Op} & idle operation handle \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_a1d61dca5ec35900c33224d82711c0bdb}\label{io_8c_a1d61dca5ec35900c33224d82711c0bdb}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Binding\+Add\+Timer@{elektra\+Io\+Binding\+Add\+Timer}}
\index{elektra\+Io\+Binding\+Add\+Timer@{elektra\+Io\+Binding\+Add\+Timer}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Binding\+Add\+Timer()}{elektraIoBindingAddTimer()}}
{\footnotesize\ttfamily int elektra\+Io\+Binding\+Add\+Timer (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$}]{binding,  }\item[{\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$}]{timer\+Op }\end{DoxyParamCaption})}



Add timer to I/O binding. 

Timeouts callbacks are executed after the initial interval has elapsed and then repeatedly after the interval has elapsed. An operation may only be added to one binding.


\begin{DoxyParams}{Parameters}
{\em binding} & I/O binding handle \\
\hline
{\em timer\+Op} & timer operation handle \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_a062e9d7d5305201dfe5ba437f3f03224}\label{io_8c_a062e9d7d5305201dfe5ba437f3f03224}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Binding\+Cleanup@{elektra\+Io\+Binding\+Cleanup}}
\index{elektra\+Io\+Binding\+Cleanup@{elektra\+Io\+Binding\+Cleanup}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Binding\+Cleanup()}{elektraIoBindingCleanup()}}
{\footnotesize\ttfamily int elektra\+Io\+Binding\+Cleanup (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$}]{binding }\end{DoxyParamCaption})}



Free memory used by I/O binding. 

All added operations have to be removed before calling this function.


\begin{DoxyParams}{Parameters}
{\em binding} & I/O binding handle \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_a5715a87848f486f4d631efb3a21909b2}\label{io_8c_a5715a87848f486f4d631efb3a21909b2}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Binding\+Get\+Data@{elektra\+Io\+Binding\+Get\+Data}}
\index{elektra\+Io\+Binding\+Get\+Data@{elektra\+Io\+Binding\+Get\+Data}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Binding\+Get\+Data()}{elektraIoBindingGetData()}}
{\footnotesize\ttfamily void$\ast$ elektra\+Io\+Binding\+Get\+Data (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$}]{binding }\end{DoxyParamCaption})}



Get private data from I/O Binding. 

To be used by I/O binding implementations only.


\begin{DoxyParams}{Parameters}
{\em binding} & I/\+O-\/\+Binding handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to data or N\+U\+LL on error 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_aa6c7130890b80aa37e447421bf5b9771}\label{io_8c_aa6c7130890b80aa37e447421bf5b9771}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Binding\+Remove\+Fd@{elektra\+Io\+Binding\+Remove\+Fd}}
\index{elektra\+Io\+Binding\+Remove\+Fd@{elektra\+Io\+Binding\+Remove\+Fd}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Binding\+Remove\+Fd()}{elektraIoBindingRemoveFd()}}
{\footnotesize\ttfamily int elektra\+Io\+Binding\+Remove\+Fd (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$}]{fd\+Op }\end{DoxyParamCaption})}



Remove file descriptor from I/O binding. 


\begin{DoxyParams}{Parameters}
{\em fd\+Op} & file descriptor opertation handle \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_aef005788f6b6f89c72f740abcd352208}\label{io_8c_aef005788f6b6f89c72f740abcd352208}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Binding\+Remove\+Idle@{elektra\+Io\+Binding\+Remove\+Idle}}
\index{elektra\+Io\+Binding\+Remove\+Idle@{elektra\+Io\+Binding\+Remove\+Idle}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Binding\+Remove\+Idle()}{elektraIoBindingRemoveIdle()}}
{\footnotesize\ttfamily int elektra\+Io\+Binding\+Remove\+Idle (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$}]{idle\+Op }\end{DoxyParamCaption})}



Remove idle from I/O binding. 


\begin{DoxyParams}{Parameters}
{\em idle\+Op} & idle operation handle \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_aeab10975f6a3f62b6697449b6024c2bd}\label{io_8c_aeab10975f6a3f62b6697449b6024c2bd}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Binding\+Remove\+Timer@{elektra\+Io\+Binding\+Remove\+Timer}}
\index{elektra\+Io\+Binding\+Remove\+Timer@{elektra\+Io\+Binding\+Remove\+Timer}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Binding\+Remove\+Timer()}{elektraIoBindingRemoveTimer()}}
{\footnotesize\ttfamily int elektra\+Io\+Binding\+Remove\+Timer (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$}]{timer\+Op }\end{DoxyParamCaption})}



Remove timer from I/O binding. 


\begin{DoxyParams}{Parameters}
{\em timer\+Op} & timer operation handle \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_a6021718783b36ca71bb465bc08a682cc}\label{io_8c_a6021718783b36ca71bb465bc08a682cc}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Binding\+Set\+Data@{elektra\+Io\+Binding\+Set\+Data}}
\index{elektra\+Io\+Binding\+Set\+Data@{elektra\+Io\+Binding\+Set\+Data}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Binding\+Set\+Data()}{elektraIoBindingSetData()}}
{\footnotesize\ttfamily int elektra\+Io\+Binding\+Set\+Data (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface} $\ast$}]{binding,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Set private data from I/O Binding. 

To be used by I/O binding implementations only.


\begin{DoxyParams}{Parameters}
{\em binding} & I/O binding handle \\
\hline
{\em data} & private data \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_ac5cc25f98aae763dd38abbd1636d5989}\label{io_8c_ac5cc25f98aae763dd38abbd1636d5989}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Binding\+Update\+Fd@{elektra\+Io\+Binding\+Update\+Fd}}
\index{elektra\+Io\+Binding\+Update\+Fd@{elektra\+Io\+Binding\+Update\+Fd}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Binding\+Update\+Fd()}{elektraIoBindingUpdateFd()}}
{\footnotesize\ttfamily int elektra\+Io\+Binding\+Update\+Fd (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$}]{fd\+Op }\end{DoxyParamCaption})}



Notify I/O binding about changes to file descriptor watch operation. 


\begin{DoxyParams}{Parameters}
{\em fd\+Op} & file descriptor opertation handle \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_a3a3762aa62f97805654a6a0f6b4bf71e}\label{io_8c_a3a3762aa62f97805654a6a0f6b4bf71e}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Binding\+Update\+Idle@{elektra\+Io\+Binding\+Update\+Idle}}
\index{elektra\+Io\+Binding\+Update\+Idle@{elektra\+Io\+Binding\+Update\+Idle}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Binding\+Update\+Idle()}{elektraIoBindingUpdateIdle()}}
{\footnotesize\ttfamily int elektra\+Io\+Binding\+Update\+Idle (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$}]{idle\+Op }\end{DoxyParamCaption})}



Notifiy I/O binding about changes to idle structure. 


\begin{DoxyParams}{Parameters}
{\em idle\+Op} & idle operation handle \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_add5679a2ff842d88435938d629497e27}\label{io_8c_add5679a2ff842d88435938d629497e27}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Binding\+Update\+Timer@{elektra\+Io\+Binding\+Update\+Timer}}
\index{elektra\+Io\+Binding\+Update\+Timer@{elektra\+Io\+Binding\+Update\+Timer}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Binding\+Update\+Timer()}{elektraIoBindingUpdateTimer()}}
{\footnotesize\ttfamily int elektra\+Io\+Binding\+Update\+Timer (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$}]{timer\+Op }\end{DoxyParamCaption})}



Notifiy I/O binding about changes to timer structure. 


\begin{DoxyParams}{Parameters}
{\em timer\+Op} & timer operation handle \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_abce96e3554f0115ec0658054c1fbbf7a}\label{io_8c_abce96e3554f0115ec0658054c1fbbf7a}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Fd\+Get\+Binding@{elektra\+Io\+Fd\+Get\+Binding}}
\index{elektra\+Io\+Fd\+Get\+Binding@{elektra\+Io\+Fd\+Get\+Binding}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Fd\+Get\+Binding()}{elektraIoFdGetBinding()}}
{\footnotesize\ttfamily \hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface}$\ast$ elektra\+Io\+Fd\+Get\+Binding (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$}]{fd\+Op }\end{DoxyParamCaption})}



Get binding from operation. 


\begin{DoxyParams}{Parameters}
{\em fd\+Op} & fd operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to binding or N\+U\+LL on error 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_a6103b457ed1440d0490acf0a6ec17386}\label{io_8c_a6103b457ed1440d0490acf0a6ec17386}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Fd\+Get\+Binding\+Data@{elektra\+Io\+Fd\+Get\+Binding\+Data}}
\index{elektra\+Io\+Fd\+Get\+Binding\+Data@{elektra\+Io\+Fd\+Get\+Binding\+Data}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Fd\+Get\+Binding\+Data()}{elektraIoFdGetBindingData()}}
{\footnotesize\ttfamily void$\ast$ elektra\+Io\+Fd\+Get\+Binding\+Data (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$}]{fd\+Op }\end{DoxyParamCaption})}



Get private binding data from operation. 


\begin{DoxyParams}{Parameters}
{\em fd\+Op} & file descriptor operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to data or N\+U\+LL on error 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_a885381fdd55cf957af1d65db7522899a}\label{io_8c_a885381fdd55cf957af1d65db7522899a}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Fd\+Get\+Callback@{elektra\+Io\+Fd\+Get\+Callback}}
\index{elektra\+Io\+Fd\+Get\+Callback@{elektra\+Io\+Fd\+Get\+Callback}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Fd\+Get\+Callback()}{elektraIoFdGetCallback()}}
{\footnotesize\ttfamily \hyperlink{kdbio_8h_a37a08867edb5ecac91ed8eaf1de6dea0}{Elektra\+Io\+Fd\+Callback} elektra\+Io\+Fd\+Get\+Callback (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$}]{fd\+Op }\end{DoxyParamCaption})}



Get callback of file descriptor watch operation. 


\begin{DoxyParams}{Parameters}
{\em fd\+Op} & file descriptor operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
callback 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_a6a2a281c9e437dd1d660f1310fa06108}\label{io_8c_a6a2a281c9e437dd1d660f1310fa06108}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Fd\+Get\+Data@{elektra\+Io\+Fd\+Get\+Data}}
\index{elektra\+Io\+Fd\+Get\+Data@{elektra\+Io\+Fd\+Get\+Data}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Fd\+Get\+Data()}{elektraIoFdGetData()}}
{\footnotesize\ttfamily void$\ast$ elektra\+Io\+Fd\+Get\+Data (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$}]{fd\+Op }\end{DoxyParamCaption})}



Get private data from operation. 


\begin{DoxyParams}{Parameters}
{\em fd\+Op} & file descriptor operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to data or N\+U\+LL on error 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_a7dec6afadd09f6350f9ad642906fc88a}\label{io_8c_a7dec6afadd09f6350f9ad642906fc88a}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Fd\+Get\+Fd@{elektra\+Io\+Fd\+Get\+Fd}}
\index{elektra\+Io\+Fd\+Get\+Fd@{elektra\+Io\+Fd\+Get\+Fd}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Fd\+Get\+Fd()}{elektraIoFdGetFd()}}
{\footnotesize\ttfamily int elektra\+Io\+Fd\+Get\+Fd (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$}]{fd\+Op }\end{DoxyParamCaption})}



Get file descriptor number from operation. 


\begin{DoxyParams}{Parameters}
{\em fd\+Op} & file descriptor operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
file descriptor number or 0 on error 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_a8e2d356be0d89af3e46ebc8ce675db37}\label{io_8c_a8e2d356be0d89af3e46ebc8ce675db37}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Fd\+Get\+Flags@{elektra\+Io\+Fd\+Get\+Flags}}
\index{elektra\+Io\+Fd\+Get\+Flags@{elektra\+Io\+Fd\+Get\+Flags}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Fd\+Get\+Flags()}{elektraIoFdGetFlags()}}
{\footnotesize\ttfamily int elektra\+Io\+Fd\+Get\+Flags (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$}]{fd\+Op }\end{DoxyParamCaption})}



Get flag bitmask of file descriptor watch operation. 


\begin{DoxyParams}{Parameters}
{\em fd\+Op} & file descriptor operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
watch flag bitmask (see \hyperlink{kdbio_8h_ac46f42188abb1fa28c3116b8cb755825}{Elektra\+Io\+Fd\+Flags}). 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_af35cfd8a33db0170e06cb8c3cdc08244}\label{io_8c_af35cfd8a33db0170e06cb8c3cdc08244}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Fd\+Is\+Enabled@{elektra\+Io\+Fd\+Is\+Enabled}}
\index{elektra\+Io\+Fd\+Is\+Enabled@{elektra\+Io\+Fd\+Is\+Enabled}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Fd\+Is\+Enabled()}{elektraIoFdIsEnabled()}}
{\footnotesize\ttfamily int elektra\+Io\+Fd\+Is\+Enabled (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$}]{fd\+Op }\end{DoxyParamCaption})}



Check if file descriptor watch operation is enabled or disabled. 


\begin{DoxyParams}{Parameters}
{\em fd\+Op} & file descriptor operation handle \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 0} & if disabled \\
\hline
{\em 1} & if enabled \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_ae02ec122aafa67b7dd92d9c3daa6499e}\label{io_8c_ae02ec122aafa67b7dd92d9c3daa6499e}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Fd\+Set\+Binding\+Data@{elektra\+Io\+Fd\+Set\+Binding\+Data}}
\index{elektra\+Io\+Fd\+Set\+Binding\+Data@{elektra\+Io\+Fd\+Set\+Binding\+Data}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Fd\+Set\+Binding\+Data()}{elektraIoFdSetBindingData()}}
{\footnotesize\ttfamily int elektra\+Io\+Fd\+Set\+Binding\+Data (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$}]{fd\+Op,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Set private binding data for operation. 


\begin{DoxyParams}{Parameters}
{\em fd\+Op} & file descriptor operation handle \\
\hline
{\em data} & pointer to data \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_a56f8b0059e6c7708681624d1994e4b44}\label{io_8c_a56f8b0059e6c7708681624d1994e4b44}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Fd\+Set\+Enabled@{elektra\+Io\+Fd\+Set\+Enabled}}
\index{elektra\+Io\+Fd\+Set\+Enabled@{elektra\+Io\+Fd\+Set\+Enabled}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Fd\+Set\+Enabled()}{elektraIoFdSetEnabled()}}
{\footnotesize\ttfamily int elektra\+Io\+Fd\+Set\+Enabled (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$}]{fd\+Op,  }\item[{int}]{enabled }\end{DoxyParamCaption})}



Enable or disable file descriptor watch operation. 


\begin{DoxyParams}{Parameters}
{\em fd\+Op} & file descriptor operation handle \\
\hline
{\em enabled} & 0 to disabled, any other value for enabled \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_a1fd34686b0b3b1db5f460ea8c40ba5a8}\label{io_8c_a1fd34686b0b3b1db5f460ea8c40ba5a8}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Fd\+Set\+Flags@{elektra\+Io\+Fd\+Set\+Flags}}
\index{elektra\+Io\+Fd\+Set\+Flags@{elektra\+Io\+Fd\+Set\+Flags}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Fd\+Set\+Flags()}{elektraIoFdSetFlags()}}
{\footnotesize\ttfamily int elektra\+Io\+Fd\+Set\+Flags (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation} $\ast$}]{fd\+Op,  }\item[{int}]{flags }\end{DoxyParamCaption})}



Update flag bitmask of file descriptor watch operation. 


\begin{DoxyParams}{Parameters}
{\em fd\+Op} & file descriptor operation handle \\
\hline
{\em flags} & watch flag bitmask (see \hyperlink{kdbio_8h_ac46f42188abb1fa28c3116b8cb755825}{Elektra\+Io\+Fd\+Flags}). \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_a030d0fb13976123142082ab1f378b170}\label{io_8c_a030d0fb13976123142082ab1f378b170}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Get\+Binding@{elektra\+Io\+Get\+Binding}}
\index{elektra\+Io\+Get\+Binding@{elektra\+Io\+Get\+Binding}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Get\+Binding()}{elektraIoGetBinding()}}
{\footnotesize\ttfamily \hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface}$\ast$ elektra\+Io\+Get\+Binding (\begin{DoxyParamCaption}\item[{K\+DB $\ast$}]{kdb }\end{DoxyParamCaption})}



Get I/O binding for asynchronous I/O operations for K\+DB instance. 

Returns N\+U\+LL if no I/O binding was set.


\begin{DoxyParams}{Parameters}
{\em kdb} & K\+DB instance \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
I/O binding or N\+U\+LL 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_afc5f98604846bdffe894e8957e05294d}\label{io_8c_afc5f98604846bdffe894e8957e05294d}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Idle\+Get\+Binding@{elektra\+Io\+Idle\+Get\+Binding}}
\index{elektra\+Io\+Idle\+Get\+Binding@{elektra\+Io\+Idle\+Get\+Binding}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Idle\+Get\+Binding()}{elektraIoIdleGetBinding()}}
{\footnotesize\ttfamily \hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface}$\ast$ elektra\+Io\+Idle\+Get\+Binding (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$}]{idle\+Op }\end{DoxyParamCaption})}



Get binding from operation. 


\begin{DoxyParams}{Parameters}
{\em idle\+Op} & idle operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to binding or N\+U\+LL on error 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_a003cada71446bc7be373812ad58bd693}\label{io_8c_a003cada71446bc7be373812ad58bd693}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Idle\+Get\+Binding\+Data@{elektra\+Io\+Idle\+Get\+Binding\+Data}}
\index{elektra\+Io\+Idle\+Get\+Binding\+Data@{elektra\+Io\+Idle\+Get\+Binding\+Data}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Idle\+Get\+Binding\+Data()}{elektraIoIdleGetBindingData()}}
{\footnotesize\ttfamily void$\ast$ elektra\+Io\+Idle\+Get\+Binding\+Data (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$}]{idle\+Op }\end{DoxyParamCaption})}



Get private binding data from operation. 


\begin{DoxyParams}{Parameters}
{\em idle\+Op} & idle operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to data or N\+U\+LL on error 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_ab8fdd3f373abb4fe10d49dfc2cc25509}\label{io_8c_ab8fdd3f373abb4fe10d49dfc2cc25509}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Idle\+Get\+Callback@{elektra\+Io\+Idle\+Get\+Callback}}
\index{elektra\+Io\+Idle\+Get\+Callback@{elektra\+Io\+Idle\+Get\+Callback}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Idle\+Get\+Callback()}{elektraIoIdleGetCallback()}}
{\footnotesize\ttfamily \hyperlink{kdbio_8h_a3ec8fa1e7f20e6998f8724254e042d12}{Elektra\+Io\+Idle\+Callback} elektra\+Io\+Idle\+Get\+Callback (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$}]{idle\+Op }\end{DoxyParamCaption})}



Get callback of idle operation. 


\begin{DoxyParams}{Parameters}
{\em idle\+Op} & idle operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
callback 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_a09e19ff74ebfebcbcc03b4ed580aec62}\label{io_8c_a09e19ff74ebfebcbcc03b4ed580aec62}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Idle\+Get\+Data@{elektra\+Io\+Idle\+Get\+Data}}
\index{elektra\+Io\+Idle\+Get\+Data@{elektra\+Io\+Idle\+Get\+Data}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Idle\+Get\+Data()}{elektraIoIdleGetData()}}
{\footnotesize\ttfamily void$\ast$ elektra\+Io\+Idle\+Get\+Data (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$}]{idle\+Op }\end{DoxyParamCaption})}



Get private data from operation. 


\begin{DoxyParams}{Parameters}
{\em idle\+Op} & idle operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to data or N\+U\+LL on error 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_adcd861c03e34441cf861fa101e8b3817}\label{io_8c_adcd861c03e34441cf861fa101e8b3817}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Idle\+Is\+Enabled@{elektra\+Io\+Idle\+Is\+Enabled}}
\index{elektra\+Io\+Idle\+Is\+Enabled@{elektra\+Io\+Idle\+Is\+Enabled}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Idle\+Is\+Enabled()}{elektraIoIdleIsEnabled()}}
{\footnotesize\ttfamily int elektra\+Io\+Idle\+Is\+Enabled (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$}]{idle\+Op }\end{DoxyParamCaption})}



Check if idle operation is enabled or disabled. 


\begin{DoxyParams}{Parameters}
{\em idle\+Op} & idle operation handle \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 0} & if disabled \\
\hline
{\em 1} & if enabled \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_a612ae6341f859f2d679e8934792ab106}\label{io_8c_a612ae6341f859f2d679e8934792ab106}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Idle\+Set\+Binding\+Data@{elektra\+Io\+Idle\+Set\+Binding\+Data}}
\index{elektra\+Io\+Idle\+Set\+Binding\+Data@{elektra\+Io\+Idle\+Set\+Binding\+Data}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Idle\+Set\+Binding\+Data()}{elektraIoIdleSetBindingData()}}
{\footnotesize\ttfamily int elektra\+Io\+Idle\+Set\+Binding\+Data (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$}]{idle\+Op,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Set private binding data for operation. 


\begin{DoxyParams}{Parameters}
{\em idle\+Op} & idle operation handle \\
\hline
{\em data} & pointer to data \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_adf8e1dbd0edf0deb0f7f3ff734952e73}\label{io_8c_adf8e1dbd0edf0deb0f7f3ff734952e73}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Idle\+Set\+Enabled@{elektra\+Io\+Idle\+Set\+Enabled}}
\index{elektra\+Io\+Idle\+Set\+Enabled@{elektra\+Io\+Idle\+Set\+Enabled}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Idle\+Set\+Enabled()}{elektraIoIdleSetEnabled()}}
{\footnotesize\ttfamily int elektra\+Io\+Idle\+Set\+Enabled (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation} $\ast$}]{idle\+Op,  }\item[{int}]{enabled }\end{DoxyParamCaption})}



Enable or disable idle operation. 


\begin{DoxyParams}{Parameters}
{\em idle\+Op} & idle operation handle \\
\hline
{\em enabled} & 0 to disabled, any other value for enabled \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_a8dd14e7bd04afb798ea30ff8feb5f3a6}\label{io_8c_a8dd14e7bd04afb798ea30ff8feb5f3a6}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+New\+Binding@{elektra\+Io\+New\+Binding}}
\index{elektra\+Io\+New\+Binding@{elektra\+Io\+New\+Binding}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+New\+Binding()}{elektraIoNewBinding()}}
{\footnotesize\ttfamily \hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface}$\ast$ elektra\+Io\+New\+Binding (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_addbfc876a15d0b8864196c67ab3e5a26}{Elektra\+Io\+Binding\+Add\+Fd} $\ast$}]{add\+Fd,  }\item[{\hyperlink{kdbio_8h_acdb75b8df54c2b64980cf541b2704f37}{Elektra\+Io\+Binding\+Update\+Fd} $\ast$}]{update\+Fd,  }\item[{\hyperlink{kdbio_8h_af1d03ff367130892ec3d1f4788eb8277}{Elektra\+Io\+Binding\+Remove\+Fd} $\ast$}]{remove\+Fd,  }\item[{\hyperlink{kdbio_8h_a61a8f37e371b8360c92222f58f4691eb}{Elektra\+Io\+Binding\+Add\+Timer} $\ast$}]{add\+Timer,  }\item[{\hyperlink{kdbio_8h_ab50f6288380aba507d27a0d66e00d8b4}{Elektra\+Io\+Binding\+Update\+Timer} $\ast$}]{update\+Timer,  }\item[{\hyperlink{kdbio_8h_a00c0ffb60386fd65869367280d1ffe62}{Elektra\+Io\+Binding\+Remove\+Timer} $\ast$}]{remove\+Timer,  }\item[{\hyperlink{kdbio_8h_adcfdf9f514441cabfbfd064fe4021522}{Elektra\+Io\+Binding\+Add\+Idle} $\ast$}]{add\+Idle,  }\item[{\hyperlink{kdbio_8h_af4fa5e05e59022b5d5421932882fc966}{Elektra\+Io\+Binding\+Update\+Idle} $\ast$}]{update\+Idle,  }\item[{\hyperlink{kdbio_8h_a23b523b54e70df91a85c95583b6c958f}{Elektra\+Io\+Binding\+Remove\+Idle} $\ast$}]{remove\+Idle,  }\item[{\hyperlink{kdbio_8h_a08d3ce531bbd1c5acedbdb9822b24d6d}{Elektra\+Io\+Binding\+Cleanup} $\ast$}]{cleanup }\end{DoxyParamCaption})}



Create a new I/O binding. 

Make sure to free returned data in \hyperlink{kdbio_8h_a08d3ce531bbd1c5acedbdb9822b24d6d}{Elektra\+Io\+Binding\+Cleanup}.


\begin{DoxyParams}{Parameters}
{\em add\+Fd} & function for adding a file descriptor watch operation \\
\hline
{\em update\+Fd} & function for updating a file descriptor operation \\
\hline
{\em remove\+Fd} & function for removing a file descriptor operation \\
\hline
{\em add\+Timer} & function for adding a timer operation \\
\hline
{\em update\+Timer} & function for updateing a timer operation \\
\hline
{\em remove\+Timer} & function for removing a timer operation \\
\hline
{\em add\+Idle} & function for adding an idle operation \\
\hline
{\em update\+Idle} & function for updating an idle operation \\
\hline
{\em remove\+Idle} & function for removing an idle operation \\
\hline
{\em cleanup} & function for cleaning up binding data \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
newly created binding 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_a3804183da1aecdfcf09455d246c3891c}\label{io_8c_a3804183da1aecdfcf09455d246c3891c}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+New\+Fd\+Operation@{elektra\+Io\+New\+Fd\+Operation}}
\index{elektra\+Io\+New\+Fd\+Operation@{elektra\+Io\+New\+Fd\+Operation}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+New\+Fd\+Operation()}{elektraIoNewFdOperation()}}
{\footnotesize\ttfamily \hyperlink{kdbio_8h_af7fbb1df168155ef4bf0b8cd2dd1b0ff}{Elektra\+Io\+Fd\+Operation}$\ast$ elektra\+Io\+New\+Fd\+Operation (\begin{DoxyParamCaption}\item[{int}]{fd,  }\item[{int}]{flags,  }\item[{int}]{enabled,  }\item[{\hyperlink{kdbio_8h_a37a08867edb5ecac91ed8eaf1de6dea0}{Elektra\+Io\+Fd\+Callback}}]{callback,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Create a new file descriptor watch operation. 

Free returned data after use.


\begin{DoxyParams}{Parameters}
{\em fd} & file descriptor number \\
\hline
{\em flags} & watch flag bitmask (see \hyperlink{kdbio_8h_ac46f42188abb1fa28c3116b8cb755825}{Elektra\+Io\+Fd\+Flags}). Select on which file descriptor state changes the callback should be invoked \\
\hline
{\em enabled} & 0 to disabled, any other value for enabled \\
\hline
{\em callback} & Called when file descriptor state has changes \\
\hline
{\em data} & Custom private data \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
file descriptor operation handle 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_a0fae3b2f6070646fcc604fd7d172814a}\label{io_8c_a0fae3b2f6070646fcc604fd7d172814a}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+New\+Idle\+Operation@{elektra\+Io\+New\+Idle\+Operation}}
\index{elektra\+Io\+New\+Idle\+Operation@{elektra\+Io\+New\+Idle\+Operation}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+New\+Idle\+Operation()}{elektraIoNewIdleOperation()}}
{\footnotesize\ttfamily \hyperlink{kdbio_8h_aca5dd0703de86779b04036ce75d0cce9}{Elektra\+Io\+Idle\+Operation}$\ast$ elektra\+Io\+New\+Idle\+Operation (\begin{DoxyParamCaption}\item[{int}]{enabled,  }\item[{\hyperlink{kdbio_8h_a3ec8fa1e7f20e6998f8724254e042d12}{Elektra\+Io\+Idle\+Callback}}]{callback,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Create a new idle operation. 

Free returned data after use.


\begin{DoxyParams}{Parameters}
{\em enabled} & 0 to disable, any other value for enabled \\
\hline
{\em callback} & Called when file descriptor state has changes \\
\hline
{\em data} & Custom private data \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
idle operation handle 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_a67a0a81d263e0a7853809144c4ea5198}\label{io_8c_a67a0a81d263e0a7853809144c4ea5198}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+New\+Timer\+Operation@{elektra\+Io\+New\+Timer\+Operation}}
\index{elektra\+Io\+New\+Timer\+Operation@{elektra\+Io\+New\+Timer\+Operation}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+New\+Timer\+Operation()}{elektraIoNewTimerOperation()}}
{\footnotesize\ttfamily \hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation}$\ast$ elektra\+Io\+New\+Timer\+Operation (\begin{DoxyParamCaption}\item[{unsigned int}]{interval,  }\item[{int}]{enabled,  }\item[{\hyperlink{kdbio_8h_a4b4c6a59e26539b408f8190c2ee9c3ea}{Elektra\+Io\+Timer\+Callback}}]{callback,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Create a new timer operation. 

Free returned data after use.


\begin{DoxyParams}{Parameters}
{\em interval} & timer interval in miliseconds \\
\hline
{\em enabled} & 0 to disable, any other value for enabled \\
\hline
{\em callback} & Called when file descriptor state has changes \\
\hline
{\em data} & Custom private data \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
timer operation handle 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_a65cdb9d3e76630e5eb607f1a4188337e}\label{io_8c_a65cdb9d3e76630e5eb607f1a4188337e}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Timer\+Get\+Binding@{elektra\+Io\+Timer\+Get\+Binding}}
\index{elektra\+Io\+Timer\+Get\+Binding@{elektra\+Io\+Timer\+Get\+Binding}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Timer\+Get\+Binding()}{elektraIoTimerGetBinding()}}
{\footnotesize\ttfamily \hyperlink{kdbio_8h_aabcd87b8c09d4d4c1033fc1baa417391}{Elektra\+Io\+Interface}$\ast$ elektra\+Io\+Timer\+Get\+Binding (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$}]{timer\+Op }\end{DoxyParamCaption})}



Get binding from operation. 


\begin{DoxyParams}{Parameters}
{\em timer\+Op} & timer operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to binding or N\+U\+LL on error 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_a319f07d3db470959b2ce83c83c970bae}\label{io_8c_a319f07d3db470959b2ce83c83c970bae}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Timer\+Get\+Binding\+Data@{elektra\+Io\+Timer\+Get\+Binding\+Data}}
\index{elektra\+Io\+Timer\+Get\+Binding\+Data@{elektra\+Io\+Timer\+Get\+Binding\+Data}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Timer\+Get\+Binding\+Data()}{elektraIoTimerGetBindingData()}}
{\footnotesize\ttfamily void$\ast$ elektra\+Io\+Timer\+Get\+Binding\+Data (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$}]{timer\+Op }\end{DoxyParamCaption})}



Get private binding data from operation. 


\begin{DoxyParams}{Parameters}
{\em timer\+Op} & timer operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to data or N\+U\+LL on error 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_af51e591d41d2ed691e4f52ba27975981}\label{io_8c_af51e591d41d2ed691e4f52ba27975981}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Timer\+Get\+Callback@{elektra\+Io\+Timer\+Get\+Callback}}
\index{elektra\+Io\+Timer\+Get\+Callback@{elektra\+Io\+Timer\+Get\+Callback}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Timer\+Get\+Callback()}{elektraIoTimerGetCallback()}}
{\footnotesize\ttfamily \hyperlink{kdbio_8h_a4b4c6a59e26539b408f8190c2ee9c3ea}{Elektra\+Io\+Timer\+Callback} elektra\+Io\+Timer\+Get\+Callback (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$}]{timer\+Op }\end{DoxyParamCaption})}



Get callback of timer operation. 


\begin{DoxyParams}{Parameters}
{\em timer\+Op} & timer operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
callback 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_aa5e164c1d42f58d27babd0f55c1a68a0}\label{io_8c_aa5e164c1d42f58d27babd0f55c1a68a0}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Timer\+Get\+Data@{elektra\+Io\+Timer\+Get\+Data}}
\index{elektra\+Io\+Timer\+Get\+Data@{elektra\+Io\+Timer\+Get\+Data}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Timer\+Get\+Data()}{elektraIoTimerGetData()}}
{\footnotesize\ttfamily void$\ast$ elektra\+Io\+Timer\+Get\+Data (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$}]{timer\+Op }\end{DoxyParamCaption})}



Get private data from operation. 


\begin{DoxyParams}{Parameters}
{\em timer\+Op} & timer operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to data or N\+U\+LL on error 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_abc383110a8cb712a0a35b958b4e446ea}\label{io_8c_abc383110a8cb712a0a35b958b4e446ea}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Timer\+Get\+Interval@{elektra\+Io\+Timer\+Get\+Interval}}
\index{elektra\+Io\+Timer\+Get\+Interval@{elektra\+Io\+Timer\+Get\+Interval}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Timer\+Get\+Interval()}{elektraIoTimerGetInterval()}}
{\footnotesize\ttfamily unsigned int elektra\+Io\+Timer\+Get\+Interval (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$}]{timer\+Op }\end{DoxyParamCaption})}



Get interval of timer operation. 


\begin{DoxyParams}{Parameters}
{\em timer\+Op} & timer operation handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
timer interval in miliseconds, 0 on error 
\end{DoxyReturn}
\mbox{\Hypertarget{io_8c_a6d9608907e850d59c320560868eb4d7d}\label{io_8c_a6d9608907e850d59c320560868eb4d7d}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Timer\+Is\+Enabled@{elektra\+Io\+Timer\+Is\+Enabled}}
\index{elektra\+Io\+Timer\+Is\+Enabled@{elektra\+Io\+Timer\+Is\+Enabled}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Timer\+Is\+Enabled()}{elektraIoTimerIsEnabled()}}
{\footnotesize\ttfamily int elektra\+Io\+Timer\+Is\+Enabled (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$}]{timer\+Op }\end{DoxyParamCaption})}



Check if timer operation is enabled or disabled. 


\begin{DoxyParams}{Parameters}
{\em timer\+Op} & timer operation handle \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 0} & if disabled \\
\hline
{\em 1} & if enabled \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_a9b017f132fbd35ec1840ca1633b28587}\label{io_8c_a9b017f132fbd35ec1840ca1633b28587}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Timer\+Set\+Binding\+Data@{elektra\+Io\+Timer\+Set\+Binding\+Data}}
\index{elektra\+Io\+Timer\+Set\+Binding\+Data@{elektra\+Io\+Timer\+Set\+Binding\+Data}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Timer\+Set\+Binding\+Data()}{elektraIoTimerSetBindingData()}}
{\footnotesize\ttfamily int elektra\+Io\+Timer\+Set\+Binding\+Data (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$}]{timer\+Op,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Set private binding data for operation. 


\begin{DoxyParams}{Parameters}
{\em timer\+Op} & timer operation handle \\
\hline
{\em data} & pointer to data \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_a301cebc4da212bdb3aac0ad84f70ad85}\label{io_8c_a301cebc4da212bdb3aac0ad84f70ad85}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Timer\+Set\+Enabled@{elektra\+Io\+Timer\+Set\+Enabled}}
\index{elektra\+Io\+Timer\+Set\+Enabled@{elektra\+Io\+Timer\+Set\+Enabled}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Timer\+Set\+Enabled()}{elektraIoTimerSetEnabled()}}
{\footnotesize\ttfamily int elektra\+Io\+Timer\+Set\+Enabled (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$}]{timer\+Op,  }\item[{int}]{enabled }\end{DoxyParamCaption})}



Enable or disable timer operation. 


\begin{DoxyParams}{Parameters}
{\em timer\+Op} & timer operation handle \\
\hline
{\em enabled} & 0 to disabled, any other value for enabled \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{io_8c_a3e317e4c6e5869f296261c24312507ed}\label{io_8c_a3e317e4c6e5869f296261c24312507ed}} 
\index{io.\+c@{io.\+c}!elektra\+Io\+Timer\+Set\+Interval@{elektra\+Io\+Timer\+Set\+Interval}}
\index{elektra\+Io\+Timer\+Set\+Interval@{elektra\+Io\+Timer\+Set\+Interval}!io.\+c@{io.\+c}}
\subsubsection{\texorpdfstring{elektra\+Io\+Timer\+Set\+Interval()}{elektraIoTimerSetInterval()}}
{\footnotesize\ttfamily int elektra\+Io\+Timer\+Set\+Interval (\begin{DoxyParamCaption}\item[{\hyperlink{kdbio_8h_a09c40c890207a8244fc39bb930fee1fa}{Elektra\+Io\+Timer\+Operation} $\ast$}]{timer\+Op,  }\item[{unsigned int}]{interval }\end{DoxyParamCaption})}



Update interval of timer operation. 


\begin{DoxyParams}{Parameters}
{\em timer\+Op} & timer operation handle \\
\hline
{\em interval} & timer interval in miliseconds \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on error \\
\hline
\end{DoxyRetVals}
