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
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_t * fbInfoModelGetElement (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
fbSession_t * fbSessionClone (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_t * fbSessionGetInfoModel (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_t * fbConnSpecCopy (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
fbCollector_t * fbCollectorAllocSocket (fbListener_t *listener, void *ctx, int fd, struct sockaddr *peer, size_t peerlen)
 fbCollectorAllocSocket
fbCollector_t * fbCollectorAllocTLS (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 fbListenerRemove (fbListener_t *listener, int fd)
 fbListenerRemove
fbConnSpec_t * fbListenerGetConnSpec (fbListener_t *listener)
 fbListenerGetConnSpec

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 
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 
fbConnSpec_t* fbListenerGetConnSpec ( fbListener_t *  listener  ) 

fbListenerGetConnSpec

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

fbListenerRemove

Parameters:
listener 
fd 
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 
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 fBufRewind ( fBuf_t *  fbuf  ) 

fBufRewind

Parameters:
fbuf