fixbuf IPFIX protocol library private interface. More...
#include <fixbuf/public.h>
Go to the source code of this file.
Data Structures | |
struct | fbUDPConnSpec_st |
An UDP Connection specifier. More... | |
struct | fbTemplate_st |
An IPFIX template or options template structure. More... | |
Macros | |
#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 | |
Typedefs | |
typedef struct fbUDPConnSpec_st | fbUDPConnSpec_t |
An UDP Connection specifier. More... | |
Functions | |
void | fBufRewind (fBuf_t *fbuf) |
fBufRewind More... | |
gboolean | fBufAppendTemplate (fBuf_t *fbuf, uint16_t tmpl_id, fbTemplate_t *tmpl, gboolean revoked, GError **err) |
fBufAppendTemplate More... | |
void | fBufRemoveTemplateTcplan (fBuf_t *fbuf, fbTemplate_t *tmpl) |
fBufRemoveTemplateTcplan More... | |
void | fBufSetSession (fBuf_t *fbuf, fbSession_t *session) |
fBufSetSession More... | |
uint32_t | fbInfoElementHash (fbInfoElement_t *ie) |
fbInfoElementHash More... | |
gboolean | fbInfoElementEqual (const fbInfoElement_t *a, const fbInfoElement_t *b) |
fbInfoElementEqual More... | |
void | fbInfoElementDebug (gboolean tmpl, fbInfoElement_t *ie) |
fbInfoElementDebug More... | |
const fbInfoElement_t * | fbInfoModelGetElement (fbInfoModel_t *model, fbInfoElement_t *ex_ie) |
fbInfoModelGetElement More... | |
gboolean | fbInfoElementCopyToTemplate (fbInfoModel_t *model, fbInfoElement_t *ex_ie, fbInfoElement_t *tmpl_ie) |
fbInfoElementCopyToTemplate More... | |
gboolean | fbInfoElementCopyToTemplateByName (fbInfoModel_t *model, const char *name, uint16_t len_override, fbInfoElement_t *tmpl_ie) |
fbInfoElementCopyToTemplateByName More... | |
const fbInfoElement_t * | fbInfoModelAddAlienElement (fbInfoModel_t *model, fbInfoElement_t *ex_ie) |
fbInfoModelAddAlienElement More... | |
void | fbTemplateRetain (fbTemplate_t *tmpl) |
fbTemplateRetain More... | |
void | fbTemplateRelease (fbTemplate_t *tmpl) |
fbTemplateRelease More... | |
void | fbTemplateFree (fbTemplate_t *tmpl) |
fbTemplateFree More... | |
void | fbTemplateDebug (const char *label, uint16_t tid, fbTemplate_t *tmpl) |
fbTemplateDebug More... | |
fbNewTemplateCallback_fn | fbSessionTemplateCallback (fbSession_t *session) |
Returns the callback function for a given session. More... | |
fbTemplateCtxCallback2_fn | fbSessionTemplateCtxCallback (fbSession_t *session) |
Return the ctx callback function for a given session. More... | |
void * | fbSessionTemplateCtxCallbackAppCtx (fbSession_t *session) |
Return the ctx callback function's application context for a given session. More... | |
fbSession_t * | fbSessionClone (fbSession_t *base) |
fbSessionClone More... | |
uint32_t | fbSessionGetSequence (fbSession_t *session) |
fbSessionGetSequence More... | |
void | fbSessionSetSequence (fbSession_t *session, uint32_t sequence) |
fbSessionSetSequence More... | |
void | fbSessionSetTemplateBuffer (fbSession_t *session, fBuf_t *fbuf) |
fbSessionSetTemplateBuffer More... | |
void | fbSessionSetCollector (fbSession_t *session, fbCollector_t *collector) |
fbSessionSetCollector More... | |
void | fbSessionClearIntTmplTableFlag (fbSession_t *session) |
void | fbSessionClearExtTmplTableFlag (fbSession_t *session) |
int | fbSessionIntTmplTableFlagIsSet (fbSession_t *session) |
int | fbSessionExtTmplTableFlagIsSet (fbSession_t *session) |
gboolean | fbConnSpecLookupAI (fbConnSpec_t *spec, gboolean passive, GError **err) |
fbConnSpecLookupAI More... | |
gboolean | fbConnSpecInitTLS (fbConnSpec_t *spec, gboolean passive, GError **err) |
fbConnSpecInitTLS More... | |
fbConnSpec_t * | fbConnSpecCopy (fbConnSpec_t *spec) |
fbConnSpecCopy More... | |
void | fbConnSpecFree (fbConnSpec_t *spec) |
fbConnSpecFree More... | |
uint16_t | fbExporterGetMTU (fbExporter_t *exporter) |
fbExporterGetMTU More... | |
gboolean | fbExportMessage (fbExporter_t *exporter, uint8_t *msgbase, size_t msglen, GError **err) |
fbExportMessage More... | |
void | fbExporterFree (fbExporter_t *exporter) |
fbExporterFree More... | |
void | fbCollectorRemoveListenerLastBuf (fBuf_t *fbuf, fbCollector_t *collector) |
fbCollectorRemoveListenerLastBuf More... | |
fbCollector_t * | fbCollectorAllocSocket (fbListener_t *listener, void *ctx, int fd, struct sockaddr *peer, size_t peerlen) |
fbCollectorAllocSocket More... | |
fbCollector_t * | fbCollectorAllocTLS (fbListener_t *listener, void *ctx, int fd, struct sockaddr *peer, size_t peerlen, GError **err) |
fbCollectorAllocTLS More... | |
gboolean | fbCollectMessage (fbCollector_t *collector, uint8_t *msgbase, size_t *msglen, GError **err) |
fbCollectMessage More... | |
int | fbCollectorGetFD (fbCollector_t *collector) |
fbCollectorGetFD More... | |
void | fbCollectorSetFD (fbCollector_t *collector, int fd) |
fbCollectorSetFD More... | |
void | fbCollectorFree (fbCollector_t *collector) |
fbCollectorFree More... | |
gboolean | fbCollectorHasTranslator (fbCollector_t *collector) |
fbCollectorHasTranslator More... | |
gboolean | fbCollectMessageBuffer (uint8_t *hdr, size_t b_len, size_t *m_len, GError **err) |
fbCollectMessageBuffer More... | |
void | fbListenerAppFree (fbListener_t *listener, void *ctx) |
fbListenerAppFree More... | |
void | fbListenerRemoveLastBuf (fBuf_t *fbuf, fbListener_t *listener) |
fbListenerRemoveLastBuf More... | |
void | fbListenerRemove (fbListener_t *listener, int fd) |
fbListenerRemove More... | |
fbConnSpec_t * | fbListenerGetConnSpec (fbListener_t *listener) |
fbListenerGetConnSpec More... | |
void | fbCollectorInterruptSocket (fbCollector_t *collector) |
Interrupt the socket for a given collector to stop it from reading more data. More... | |
gboolean | fbListenerCallAppInit (fbListener_t *listener, fbUDPConnSpec_t *spec, GError **err) |
call appinit from UDP More... | |
fbSession_t * | fbListenerSetPeerSession (fbListener_t *listener, fbSession_t *session) |
Set the session on the fbuf and listener. | |
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.
typedef struct fbUDPConnSpec_st fbUDPConnSpec_t |
An UDP Connection specifier.
These are managed by the collector. The collector creates one fbUDPConnSpec_t per "UDP session." A UDP session is defined by a unique IP and observation domain."
gboolean fbCollectMessage | ( | fbCollector_t * | collector, |
uint8_t * | msgbase, | ||
size_t * | msglen, | ||
GError ** | err | ||
) |
fbCollectMessage
collector | |
msgbase | |
msglen | |
err |
gboolean fbCollectMessageBuffer | ( | uint8_t * | hdr, |
size_t | b_len, | ||
size_t * | m_len, | ||
GError ** | err | ||
) |
fbCollectMessageBuffer
used for applications that manage their own connection, file reading, etc.
hdr | |
b_len | |
m_len | |
err |
fbCollector_t* fbCollectorAllocSocket | ( | fbListener_t * | listener, |
void * | ctx, | ||
int | fd, | ||
struct sockaddr * | peer, | ||
size_t | peerlen | ||
) |
fbCollectorAllocSocket
listener | |
ctx | |
fd | |
peer | |
peerlen |
fbCollector_t* fbCollectorAllocTLS | ( | fbListener_t * | listener, |
void * | ctx, | ||
int | fd, | ||
struct sockaddr * | peer, | ||
size_t | peerlen, | ||
GError ** | err | ||
) |
fbCollectorAllocTLS
listener | |
ctx | |
fd | |
peer | |
peerlen | |
err |
void fbCollectorFree | ( | fbCollector_t * | collector | ) |
fbCollectorFree
collector |
int fbCollectorGetFD | ( | fbCollector_t * | collector | ) |
fbCollectorGetFD
collector |
gboolean fbCollectorHasTranslator | ( | fbCollector_t * | collector | ) |
fbCollectorHasTranslator
collector |
void fbCollectorInterruptSocket | ( | fbCollector_t * | collector | ) |
Interrupt the socket for a given collector to stop it from reading more data.
collector | pointer to the collector to stop reading from |
void fbCollectorRemoveListenerLastBuf | ( | fBuf_t * | fbuf, |
fbCollector_t * | collector | ||
) |
fbCollectorRemoveListenerLastBuf
fbuf | |
collector |
void fbCollectorSetFD | ( | fbCollector_t * | collector, |
int | fd | ||
) |
fbCollectorSetFD
fbConnSpec_t* fbConnSpecCopy | ( | fbConnSpec_t * | spec | ) |
fbConnSpecCopy
spec |
void fbConnSpecFree | ( | fbConnSpec_t * | spec | ) |
fbConnSpecFree
spec |
gboolean fbConnSpecInitTLS | ( | fbConnSpec_t * | spec, |
gboolean | passive, | ||
GError ** | err | ||
) |
fbConnSpecInitTLS
spec | |
passive | |
err |
gboolean fbConnSpecLookupAI | ( | fbConnSpec_t * | spec, |
gboolean | passive, | ||
GError ** | err | ||
) |
fbConnSpecLookupAI
spec | |
passive | |
err |
void fbExporterFree | ( | fbExporter_t * | exporter | ) |
fbExporterFree
exporter |
uint16_t fbExporterGetMTU | ( | fbExporter_t * | exporter | ) |
fbExporterGetMTU
exporter |
gboolean fbExportMessage | ( | fbExporter_t * | exporter, |
uint8_t * | msgbase, | ||
size_t | msglen, | ||
GError ** | err | ||
) |
fbExportMessage
exporter | |
msgbase | |
msglen | |
err |
gboolean fbInfoElementCopyToTemplate | ( | fbInfoModel_t * | model, |
fbInfoElement_t * | ex_ie, | ||
fbInfoElement_t * | tmpl_ie | ||
) |
fbInfoElementCopyToTemplate
model | |
ex_ie | |
tmpl_ie |
gboolean fbInfoElementCopyToTemplateByName | ( | fbInfoModel_t * | model, |
const char * | name, | ||
uint16_t | len_override, | ||
fbInfoElement_t * | tmpl_ie | ||
) |
fbInfoElementCopyToTemplateByName
model | |
name | |
len_override | |
tmpl_ie |
void fbInfoElementDebug | ( | gboolean | tmpl, |
fbInfoElement_t * | ie | ||
) |
fbInfoElementDebug
tmpl | |
ie |
gboolean fbInfoElementEqual | ( | const fbInfoElement_t * | a, |
const fbInfoElement_t * | b | ||
) |
fbInfoElementEqual
a | |
b |
uint32_t fbInfoElementHash | ( | fbInfoElement_t * | ie | ) |
fbInfoElementHash
ie |
const fbInfoElement_t* fbInfoModelAddAlienElement | ( | fbInfoModel_t * | model, |
fbInfoElement_t * | ex_ie | ||
) |
fbInfoModelAddAlienElement
model | |
ex_ie |
const fbInfoElement_t* fbInfoModelGetElement | ( | fbInfoModel_t * | model, |
fbInfoElement_t * | ex_ie | ||
) |
fbInfoModelGetElement
model | |
ex_ie |
void fbListenerAppFree | ( | fbListener_t * | listener, |
void * | ctx | ||
) |
fbListenerAppFree
listener | |
ctx |
gboolean fbListenerCallAppInit | ( | fbListener_t * | listener, |
fbUDPConnSpec_t * | spec, | ||
GError ** | err | ||
) |
call appinit from UDP
fbConnSpec_t* fbListenerGetConnSpec | ( | fbListener_t * | listener | ) |
fbListenerGetConnSpec
listener |
void fbListenerRemove | ( | fbListener_t * | listener, |
int | fd | ||
) |
fbListenerRemove
listener | |
fd |
void fbListenerRemoveLastBuf | ( | fBuf_t * | fbuf, |
fbListener_t * | listener | ||
) |
fbListenerRemoveLastBuf
fbuf | |
listener |
fbSession_t* fbSessionClone | ( | fbSession_t * | base | ) |
fbSessionClone
base |
uint32_t fbSessionGetSequence | ( | fbSession_t * | session | ) |
fbSessionGetSequence
session |
void fbSessionSetCollector | ( | fbSession_t * | session, |
fbCollector_t * | collector | ||
) |
fbSessionSetCollector
session | |
collector |
void fbSessionSetSequence | ( | fbSession_t * | session, |
uint32_t | sequence | ||
) |
fbSessionSetSequence
session | |
sequence |
void fbSessionSetTemplateBuffer | ( | fbSession_t * | session, |
fBuf_t * | fbuf | ||
) |
fbSessionSetTemplateBuffer
session | |
fbuf |
fbNewTemplateCallback_fn fbSessionTemplateCallback | ( | fbSession_t * | session | ) |
Returns the callback function for a given session.
session |
fbTemplateCtxCallback2_fn fbSessionTemplateCtxCallback | ( | fbSession_t * | session | ) |
Return the ctx callback function for a given session.
session |
void* fbSessionTemplateCtxCallbackAppCtx | ( | fbSession_t * | session | ) |
Return the ctx callback function's application context for a given session.
session |
void fbTemplateDebug | ( | const char * | label, |
uint16_t | tid, | ||
fbTemplate_t * | tmpl | ||
) |
fbTemplateDebug
label | |
tid | |
tmpl |
void fbTemplateFree | ( | fbTemplate_t * | tmpl | ) |
fbTemplateFree
tmpl |
void fbTemplateRelease | ( | fbTemplate_t * | tmpl | ) |
fbTemplateRelease
tmpl |
void fbTemplateRetain | ( | fbTemplate_t * | tmpl | ) |
fbTemplateRetain
tmpl |
gboolean fBufAppendTemplate | ( | fBuf_t * | fbuf, |
uint16_t | tmpl_id, | ||
fbTemplate_t * | tmpl, | ||
gboolean | revoked, | ||
GError ** | err | ||
) |
fBufAppendTemplate
fbuf | |
tmpl_id | |
tmpl | |
revoked | |
err |
void fBufRemoveTemplateTcplan | ( | fBuf_t * | fbuf, |
fbTemplate_t * | tmpl | ||
) |
fBufRemoveTemplateTcplan
void fBufRewind | ( | fBuf_t * | fbuf | ) |
fBufRewind
fbuf |
void fBufSetSession | ( | fBuf_t * | fbuf, |
fbSession_t * | session | ||
) |
fBufSetSession