private.h File Reference

fixbuf IPFIX protocol library private interface. More...

#include <fixbuf/public.h>

Go to the source code of this file.

Data Structures

struct  fbTemplate_st
 An IPFIX template or options template structure. More...

Defines

#define IPFIX_ENTERPRISE_BIT   0x8000
 define the bit in ID's that marks the Enterprise ID's
#define IPFIX_REVERSE_PEN   29305
 This is the Private Enterprise Number defined in the IPFIX standard, see RFC 5102, for reverse flow datum.
#define FB_MSGLEN_MAX   65535
 definition of the max-size of an fbuf_t buffer, or the default/only size

Functions

void fBufRewind (fBuf_t *fbuf)
 fBufRewind
gboolean fBufAppendTemplate (fBuf_t *fbuf, uint16_t tmpl_id, fbTemplate_t *tmpl, gboolean revoke, GError **err)
 fBufAppendTemplate
void fBufRemoveTemplateTcplan (fBuf_t *fbuf, fbTemplate_t *tmpl)
 fBufRemoveTemplateTcplan
uint32_t fbInfoElementHash (fbInfoElement_t *ie)
 fbInfoElementHash
gboolean fbInfoElementEqual (const fbInfoElement_t *a, const fbInfoElement_t *b)
 fbInfoElementEqual
void fbInfoElementDebug (gboolean tmpl, fbInfoElement_t *ie)
 fbInfoElementDebug
const fbInfoElement_tfbInfoModelGetElement (fbInfoModel_t *model, fbInfoElement_t *ex_ie)
 fbInfoModelGetElement
gboolean fbInfoElementCopyToTemplate (fbInfoModel_t *model, fbInfoElement_t *ex_ie, fbInfoElement_t *tmpl_ie)
 fbInfoElementCopyToTemplate
gboolean fbInfoElementCopyToTemplateByName (fbInfoModel_t *model, const char *name, uint16_t len_override, fbInfoElement_t *tmpl_ie)
 fbInfoElementCopyToTemplateByName
void fbTemplateRetain (fbTemplate_t *tmpl)
 fbTemplateRetain
void fbTemplateRelease (fbTemplate_t *tmpl)
 fbTemplateRelease
void fbTemplateFree (fbTemplate_t *tmpl)
 fbTemplateFree
void fbTemplateDebug (const char *label, uint16_t tid, fbTemplate_t *tmpl)
 fbTemplateDebug
fbNewTemplateCallback_fn fbSessionTemplateCallback (fbSession_t *session)
 Returns the callback function for a given session.
fbSession_tfbSessionClone (fbSession_t *base)
 fbSessionClone
uint32_t fbSessionGetSequence (fbSession_t *session)
 fbSessionGetSequence
void fbSessionSetSequence (fbSession_t *session, uint32_t sequence)
 fbSessionSetSequence
void fbSessionSetTemplateBuffer (fbSession_t *session, fBuf_t *fbuf)
 fbSessionSetTemplateBuffer
fbInfoModel_tfbSessionGetInfoModel (fbSession_t *session)
 fbSessionGetInfoModel
gboolean fbConnSpecLookupAI (fbConnSpec_t *spec, gboolean passive, GError **err)
 fbConnSpecLookupAI
gboolean fbConnSpecInitTLS (fbConnSpec_t *spec, gboolean passive, GError **err)
 fbConnSpecInitTLS
fbConnSpec_tfbConnSpecCopy (fbConnSpec_t *spec)
 fbConnSpecCopy
void fbConnSpecFree (fbConnSpec_t *spec)
 fbConnSpecFree
uint16_t fbExporterGetMTU (fbExporter_t *exporter)
 fbExporterGetMTU
gboolean fbExportMessage (fbExporter_t *exporter, uint8_t *msgbase, size_t msglen, GError **err)
 fbExportMessage
void fbExporterFree (fbExporter_t *exporter)
 fbExporterFree
void fbCollectorRemoveListenerLastBuf (fBuf_t *fbuf, fbCollector_t *collector)
 fbCollectorRemoveListenerLastBuf
fbCollector_tfbCollectorAllocSocket (fbListener_t *listener, void *ctx, int fd, struct sockaddr *peer, size_t peerlen)
 fbCollectorAllocSocket
fbCollector_tfbCollectorAllocTLS (fbListener_t *listener, void *ctx, int fd, struct sockaddr *peer, size_t peerlen, GError **err)
 fbCollectorAllocTLS
gboolean fbCollectMessage (fbCollector_t *collector, uint8_t *msgbase, size_t *msglen, GError **err)
 fbCollectMessage
int fbCollectorGetFD (fbCollector_t *collector)
 fbCollectorGetFD
void fbCollectorFree (fbCollector_t *collector)
 fbCollectorFree
gboolean fbCollectorHasTranslator (fbCollector_t *collector)
 fbCollectorHasTranslator
void fbListenerAppFree (fbListener_t *listener, void *ctx)
 fbListenerAppFree
void fbListenerRemoveLastBuf (fBuf_t *fbuf, fbListener_t *listener)
 fbListenerRemoveLastBuf
void fbListenerRemove (fbListener_t *listener, int fd)
 fbListenerRemove
fbConnSpec_tfbListenerGetConnSpec (fbListener_t *listener)
 fbListenerGetConnSpec
void fbCollectorInterruptSocket (fbCollector_t *collector)
 Interrupt the socket for a given collector to stop it from reading more data.

Detailed Description

fixbuf IPFIX protocol library private interface.

These calls and structures are intended for the use of libfixbuf modules, and as such are not documented or guaranteed to remain stable in any way. Applications using these calls and structures may have to be modified to track changes to this interface across minor version releases of fixbuf.


Function Documentation

gboolean fbCollectMessage ( fbCollector_t collector,
uint8_t *  msgbase,
size_t *  msglen,
GError **  err 
)

fbCollectMessage

Parameters:
collector 
msgbase 
msglen 
err 
fbCollector_t* fbCollectorAllocSocket ( fbListener_t listener,
void *  ctx,
int  fd,
struct sockaddr *  peer,
size_t  peerlen 
)

fbCollectorAllocSocket

Parameters:
listener 
ctx 
fd 
peer 
peerlen 
fbCollector_t* fbCollectorAllocTLS ( fbListener_t listener,
void *  ctx,
int  fd,
struct sockaddr *  peer,
size_t  peerlen,
GError **  err 
)

fbCollectorAllocTLS

Parameters:
listener 
ctx 
fd 
peer 
peerlen 
err 
void fbCollectorFree ( fbCollector_t collector  ) 

fbCollectorFree

Parameters:
collector 
int fbCollectorGetFD ( fbCollector_t collector  ) 

fbCollectorGetFD

Parameters:
collector 
gboolean fbCollectorHasTranslator ( fbCollector_t collector  ) 

fbCollectorHasTranslator

Parameters:
collector 
void fbCollectorInterruptSocket ( fbCollector_t collector  ) 

Interrupt the socket for a given collector to stop it from reading more data.

Parameters:
collector pointer to the collector to stop reading from
void fbCollectorRemoveListenerLastBuf ( fBuf_t fbuf,
fbCollector_t collector 
)

fbCollectorRemoveListenerLastBuf

Parameters:
fbuf 
collector 
fbConnSpec_t* fbConnSpecCopy ( fbConnSpec_t spec  ) 

fbConnSpecCopy

Parameters:
spec 
void fbConnSpecFree ( fbConnSpec_t spec  ) 

fbConnSpecFree

Parameters:
spec 
gboolean fbConnSpecInitTLS ( fbConnSpec_t spec,
gboolean  passive,
GError **  err 
)

fbConnSpecInitTLS

Parameters:
spec 
passive 
err 
gboolean fbConnSpecLookupAI ( fbConnSpec_t spec,
gboolean  passive,
GError **  err 
)

fbConnSpecLookupAI

Parameters:
spec 
passive 
err 
void fbExporterFree ( fbExporter_t exporter  ) 

fbExporterFree

Parameters:
exporter 
uint16_t fbExporterGetMTU ( fbExporter_t exporter  ) 

fbExporterGetMTU

Parameters:
exporter 
gboolean fbExportMessage ( fbExporter_t exporter,
uint8_t *  msgbase,
size_t  msglen,
GError **  err 
)

fbExportMessage

Parameters:
exporter 
msgbase 
msglen 
err 
gboolean fbInfoElementCopyToTemplate ( fbInfoModel_t model,
fbInfoElement_t ex_ie,
fbInfoElement_t tmpl_ie 
)

fbInfoElementCopyToTemplate

Parameters:
model 
ex_ie 
tmpl_ie 
gboolean fbInfoElementCopyToTemplateByName ( fbInfoModel_t model,
const char *  name,
uint16_t  len_override,
fbInfoElement_t tmpl_ie 
)

fbInfoElementCopyToTemplateByName

Parameters:
model 
name 
len_override 
tmpl_ie 
void fbInfoElementDebug ( gboolean  tmpl,
fbInfoElement_t ie 
)

fbInfoElementDebug

Parameters:
tmpl 
ie 
gboolean fbInfoElementEqual ( const fbInfoElement_t a,
const fbInfoElement_t b 
)

fbInfoElementEqual

Parameters:
a 
b 
uint32_t fbInfoElementHash ( fbInfoElement_t ie  ) 

fbInfoElementHash

Parameters:
ie 
const fbInfoElement_t* fbInfoModelGetElement ( fbInfoModel_t model,
fbInfoElement_t ex_ie 
)

fbInfoModelGetElement

Parameters:
model 
ex_ie 
void fbListenerAppFree ( fbListener_t listener,
void *  ctx 
)

fbListenerAppFree

Parameters:
listener 
ctx 
fbConnSpec_t* fbListenerGetConnSpec ( fbListener_t listener  ) 

fbListenerGetConnSpec

Parameters:
listener 
void fbListenerRemove ( fbListener_t listener,
int  fd 
)

fbListenerRemove

Parameters:
listener 
fd 
void fbListenerRemoveLastBuf ( fBuf_t fbuf,
fbListener_t listener 
)

fbListenerRemoveLastBuf

Parameters:
fbuf 
listener 
fbSession_t* fbSessionClone ( fbSession_t base  ) 

fbSessionClone

Parameters:
base 
fbInfoModel_t* fbSessionGetInfoModel ( fbSession_t session  ) 

fbSessionGetInfoModel

Parameters:
session 
uint32_t fbSessionGetSequence ( fbSession_t session  ) 

fbSessionGetSequence

Parameters:
session 
void fbSessionSetSequence ( fbSession_t session,
uint32_t  sequence 
)

fbSessionSetSequence

Parameters:
session 
sequence 
void fbSessionSetTemplateBuffer ( fbSession_t session,
fBuf_t fbuf 
)

fbSessionSetTemplateBuffer

Parameters:
session 
fbuf 
fbNewTemplateCallback_fn fbSessionTemplateCallback ( fbSession_t session  ) 

Returns the callback function for a given session.

Parameters:
session 
Returns:
the callback function variable in the session
void fbTemplateDebug ( const char *  label,
uint16_t  tid,
fbTemplate_t tmpl 
)

fbTemplateDebug

Parameters:
label 
tid 
tmpl 
void fbTemplateFree ( fbTemplate_t tmpl  ) 

fbTemplateFree

Parameters:
tmpl 
void fbTemplateRelease ( fbTemplate_t tmpl  ) 

fbTemplateRelease

Parameters:
tmpl 
void fbTemplateRetain ( fbTemplate_t tmpl  ) 

fbTemplateRetain

Parameters:
tmpl 
gboolean fBufAppendTemplate ( fBuf_t fbuf,
uint16_t  tmpl_id,
fbTemplate_t tmpl,
gboolean  revoke,
GError **  err 
)

fBufAppendTemplate

Parameters:
fbuf 
tmpl_id 
tmpl 
revoke 
err 
Returns:
TRUE on success, FALSE on error
void fBufRemoveTemplateTcplan ( fBuf_t fbuf,
fbTemplate_t tmpl 
)

fBufRemoveTemplateTcplan

void fBufRewind ( fBuf_t fbuf  ) 

fBufRewind

Parameters:
fbuf