\hypertarget{structbufferevent__ops}{\section{bufferevent\+\_\+ops Struct Reference}
\label{structbufferevent__ops}\index{bufferevent\+\_\+ops@{bufferevent\+\_\+ops}}
}


Implementation table for a bufferevent\+: holds function pointers and other information to make the various bufferevent types work.  




{\ttfamily \#include $<$bufferevent-\/internal.\+h$>$}

\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
const char $\ast$ \hyperlink{structbufferevent__ops_a4a09244e7524c2646971d80a4da99229}{type}
\begin{DoxyCompactList}\small\item\em The name of the bufferevent's type. \end{DoxyCompactList}\item 
off\+\_\+t \hyperlink{structbufferevent__ops_af4acb50a673cf3c916f4c5bf0b8daea1}{mem\+\_\+offset}
\begin{DoxyCompactList}\small\item\em At what offset into the implementation type will we find a bufferevent structure? \end{DoxyCompactList}\item 
int($\ast$ \hyperlink{structbufferevent__ops_a28a9b44919619055874b75b1b8c0facb}{enable} )(struct \hyperlink{structbufferevent}{bufferevent} $\ast$, short)
\begin{DoxyCompactList}\small\item\em Enables one or more of E\+V\+\_\+\+R\+E\+A\+D$\vert$\+E\+V\+\_\+\+W\+R\+I\+T\+E on a bufferevent. \end{DoxyCompactList}\item 
int($\ast$ \hyperlink{structbufferevent__ops_a09dff05846072423c2ffa81728931d83}{disable} )(struct \hyperlink{structbufferevent}{bufferevent} $\ast$, short)
\begin{DoxyCompactList}\small\item\em Disables one or more of E\+V\+\_\+\+R\+E\+A\+D$\vert$\+E\+V\+\_\+\+W\+R\+I\+T\+E on a bufferevent. \end{DoxyCompactList}\item 
\hypertarget{structbufferevent__ops_abc84739ac6c33b67b5b746c513f1a476}{void($\ast$ \hyperlink{structbufferevent__ops_abc84739ac6c33b67b5b746c513f1a476}{destruct} )(struct \hyperlink{structbufferevent}{bufferevent} $\ast$)}\label{structbufferevent__ops_abc84739ac6c33b67b5b746c513f1a476}

\begin{DoxyCompactList}\small\item\em Free any storage and deallocate any extra data or structures used in this implementation. \end{DoxyCompactList}\item 
int($\ast$ \hyperlink{structbufferevent__ops_a2809dd3626b0da465a064872efd2207d}{adj\+\_\+timeouts} )(struct \hyperlink{structbufferevent}{bufferevent} $\ast$)
\begin{DoxyCompactList}\small\item\em Called when the timeouts on the bufferevent have changed. \end{DoxyCompactList}\item 
int($\ast$ \hyperlink{structbufferevent__ops_a67c4679ec40ab276ab423f37d660a3ea}{flush} )(struct \hyperlink{structbufferevent}{bufferevent} $\ast$, short, enum \hyperlink{bufferevent_8h_ac35edc760057a2e48b4e8ba9ecf2ad25}{bufferevent\+\_\+flush\+\_\+mode})
\begin{DoxyCompactList}\small\item\em Called to flush data. \end{DoxyCompactList}\item 
int($\ast$ \hyperlink{structbufferevent__ops_ab09a273601b1b3d0dbdb198dd52e039d}{ctrl} )(struct \hyperlink{structbufferevent}{bufferevent} $\ast$, enum bufferevent\+\_\+ctrl\+\_\+op, union \hyperlink{unionbufferevent__ctrl__data}{bufferevent\+\_\+ctrl\+\_\+data} $\ast$)
\begin{DoxyCompactList}\small\item\em Called to access miscellaneous fields. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Implementation table for a bufferevent\+: holds function pointers and other information to make the various bufferevent types work. 

\subsection{Field Documentation}
\hypertarget{structbufferevent__ops_a2809dd3626b0da465a064872efd2207d}{\index{bufferevent\+\_\+ops@{bufferevent\+\_\+ops}!adj\+\_\+timeouts@{adj\+\_\+timeouts}}
\index{adj\+\_\+timeouts@{adj\+\_\+timeouts}!bufferevent\+\_\+ops@{bufferevent\+\_\+ops}}
\subsubsection[{adj\+\_\+timeouts}]{\setlength{\rightskip}{0pt plus 5cm}int($\ast$ bufferevent\+\_\+ops\+::adj\+\_\+timeouts)(struct {\bf bufferevent} $\ast$)}}\label{structbufferevent__ops_a2809dd3626b0da465a064872efd2207d}


Called when the timeouts on the bufferevent have changed. 



Referenced by bufferevent\+\_\+set\+\_\+timeouts().

\hypertarget{structbufferevent__ops_ab09a273601b1b3d0dbdb198dd52e039d}{\index{bufferevent\+\_\+ops@{bufferevent\+\_\+ops}!ctrl@{ctrl}}
\index{ctrl@{ctrl}!bufferevent\+\_\+ops@{bufferevent\+\_\+ops}}
\subsubsection[{ctrl}]{\setlength{\rightskip}{0pt plus 5cm}int($\ast$ bufferevent\+\_\+ops\+::ctrl)(struct {\bf bufferevent} $\ast$, enum bufferevent\+\_\+ctrl\+\_\+op, union {\bf bufferevent\+\_\+ctrl\+\_\+data} $\ast$)}}\label{structbufferevent__ops_ab09a273601b1b3d0dbdb198dd52e039d}


Called to access miscellaneous fields. 



Referenced by bufferevent\+\_\+get\+\_\+underlying(), bufferevent\+\_\+getfd(), and bufferevent\+\_\+setfd().

\hypertarget{structbufferevent__ops_a09dff05846072423c2ffa81728931d83}{\index{bufferevent\+\_\+ops@{bufferevent\+\_\+ops}!disable@{disable}}
\index{disable@{disable}!bufferevent\+\_\+ops@{bufferevent\+\_\+ops}}
\subsubsection[{disable}]{\setlength{\rightskip}{0pt plus 5cm}int($\ast$ bufferevent\+\_\+ops\+::disable)(struct {\bf bufferevent} $\ast$, short)}}\label{structbufferevent__ops_a09dff05846072423c2ffa81728931d83}


Disables one or more of E\+V\+\_\+\+R\+E\+A\+D$\vert$\+E\+V\+\_\+\+W\+R\+I\+T\+E on a bufferevent. 

Does not need to adjust the 'enabled' field. Returns 0 on success, -\/1 on failure. 

Referenced by bufferevent\+\_\+disable().

\hypertarget{structbufferevent__ops_a28a9b44919619055874b75b1b8c0facb}{\index{bufferevent\+\_\+ops@{bufferevent\+\_\+ops}!enable@{enable}}
\index{enable@{enable}!bufferevent\+\_\+ops@{bufferevent\+\_\+ops}}
\subsubsection[{enable}]{\setlength{\rightskip}{0pt plus 5cm}int($\ast$ bufferevent\+\_\+ops\+::enable)(struct {\bf bufferevent} $\ast$, short)}}\label{structbufferevent__ops_a28a9b44919619055874b75b1b8c0facb}


Enables one or more of E\+V\+\_\+\+R\+E\+A\+D$\vert$\+E\+V\+\_\+\+W\+R\+I\+T\+E on a bufferevent. 

Does not need to adjust the 'enabled' field. Returns 0 on success, -\/1 on failure. 

Referenced by bufferevent\+\_\+enable().

\hypertarget{structbufferevent__ops_a67c4679ec40ab276ab423f37d660a3ea}{\index{bufferevent\+\_\+ops@{bufferevent\+\_\+ops}!flush@{flush}}
\index{flush@{flush}!bufferevent\+\_\+ops@{bufferevent\+\_\+ops}}
\subsubsection[{flush}]{\setlength{\rightskip}{0pt plus 5cm}int($\ast$ bufferevent\+\_\+ops\+::flush)(struct {\bf bufferevent} $\ast$, short, enum {\bf bufferevent\+\_\+flush\+\_\+mode})}}\label{structbufferevent__ops_a67c4679ec40ab276ab423f37d660a3ea}


Called to flush data. 



Referenced by bufferevent\+\_\+flush().

\hypertarget{structbufferevent__ops_af4acb50a673cf3c916f4c5bf0b8daea1}{\index{bufferevent\+\_\+ops@{bufferevent\+\_\+ops}!mem\+\_\+offset@{mem\+\_\+offset}}
\index{mem\+\_\+offset@{mem\+\_\+offset}!bufferevent\+\_\+ops@{bufferevent\+\_\+ops}}
\subsubsection[{mem\+\_\+offset}]{\setlength{\rightskip}{0pt plus 5cm}off\+\_\+t bufferevent\+\_\+ops\+::mem\+\_\+offset}}\label{structbufferevent__ops_af4acb50a673cf3c916f4c5bf0b8daea1}


At what offset into the implementation type will we find a bufferevent structure? 

Example\+: if the type is implemented as struct bufferevent\+\_\+x \{ int extra\+\_\+data; struct bufferevent bev; \} then mem\+\_\+offset should be offsetof(struct bufferevent\+\_\+x, bev) \hypertarget{structbufferevent__ops_a4a09244e7524c2646971d80a4da99229}{\index{bufferevent\+\_\+ops@{bufferevent\+\_\+ops}!type@{type}}
\index{type@{type}!bufferevent\+\_\+ops@{bufferevent\+\_\+ops}}
\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ bufferevent\+\_\+ops\+::type}}\label{structbufferevent__ops_a4a09244e7524c2646971d80a4da99229}


The name of the bufferevent's type. 



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
opal/mca/event/libevent2013/libevent/bufferevent-\/internal.\+h\end{DoxyCompactItemize}
