fixbuf IPFIX protocol library private interface. More...
Go to the source code of this file.
Typedefs | |
| typedef struct sp_groupname_st | sp_groupname_t |
| sp_groupname_t | |
| typedef struct fbSpreadSpec_st | fbSpreadSpec_t |
| fbSpreadSpec_t | |
| typedef struct fbUDPConnSpec_st | fbUDPConnSpec_t |
| An UDP Connection specifier. More... | |
| typedef struct fbTemplateOptRec_st | fbTemplateOptRec_t |
| Template metadata options record structure. More... | |
Macros | |
| #define | IPFIX_ENTERPRISE_BIT 0x8000 |
| define the bit in ID's that marks the Enterprise ID's | |
| #define | FB_MSGLEN_MAX 65535 |
| definition of the max-size of an fbuf_t buffer, or the default/only size | |
| #define | FB_SPREAD_NUM_GROUPS 16 |
| maximum number of groups supported | |
| #define | FB_SPREAD_MTU 8192 |
| maximum size of expected message | |
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 | fBufSetExportGroups (fBuf_t *fbuf, char **groups, int num_groups, GError **err) |
| fBufSetExportGroups More... | |
| void | fBufRemoveTemplateTcplan (fBuf_t *fbuf, fbTemplate_t *tmpl) |
| fBufRemoveTemplateTcplan More... | |
| void | fBufSetSession (fBuf_t *fbuf, fbSession_t *session) |
| fBufSetSession More... | |
| uint16_t | fBufGetExportTemplate (fBuf_t *fbuf) |
| fBufGetExportTemplate More... | |
| uint16_t | fBufGetInternalTemplate (fBuf_t *fbuf) |
| fBufGetInternalTemplate 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, GError **err) |
| fbInfoElementCopyToTemplate More... | |
| gboolean | fbInfoElementCopyToTemplateByName (fbInfoModel_t *model, const char *name, uint16_t len_override, fbInfoElement_t *tmpl_ie, GError **err) |
| fbInfoElementCopyToTemplateByName More... | |
| const fbInfoElement_t * | fbInfoModelAddAlienElement (fbInfoModel_t *model, fbInfoElement_t *ex_ie) |
| fbInfoModelAddAlienElement More... | |
| fbTemplate_t * | fbInfoElementAllocTypeTemplate2 (fbInfoModel_t *model, gboolean internal, GError **err) |
| fbInfoElementAllocTypeTemplate2 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... | |
| fbTemplate_t * | fbTemplateAllocTemplateMetadataTmpl (fbInfoModel_t *model, gboolean internal, GError **err) |
| Allocates a new Template to describe a record that holds Template Metadata. More... | |
| void | fbTemplateAddMetadataRecord (fbTemplate_t *tmpl, uint16_t tid, const char *name, const char *description) |
Sets the metadata_rec member of tmpl to a newly allocated fbTemplateOptRec_t, and sets its template ID, name, and description to the given parameters. More... | |
| fbNewTemplateCallback_fn | fbSessionNewTemplateCallback (fbSession_t *session) |
| Returns the callback function for a given session. More... | |
| void * | fbSessionNewTemplateCallbackAppCtx (fbSession_t *session) |
| Return the 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 | fbSessionSetGroupParams (fbSession_t *session, sp_groupname_t *groups, unsigned int num_groups) |
| fbSessionSetGroupParams More... | |
| void | fbSessionSetPrivateGroup (fbSession_t *session, char *group, char *privgroup) |
| fbSessionSetPrivateGroup More... | |
| void | fbSessionSetGroup (fbSession_t *session, char *group) |
| fbSessionSetGroup More... | |
| unsigned int | fbSessionGetGroupOffset (fbSession_t *session, char *group) |
| fbSessionGetGroupOffset More... | |
| unsigned int | fbSessionGetGroup (fbSession_t *session) |
| fbSessionGetGroup More... | |
| void | fbSessionClearIntTmplTableFlag (fbSession_t *session) |
| fbSessionClearIntTmplTableFlag More... | |
| void | fbSessionClearExtTmplTableFlag (fbSession_t *session) |
| fbSessionClearExtTmplTableFlag More... | |
| int | fbSessionIntTmplTableFlagIsSet (fbSession_t *session) |
| fbSessionIntTmplTableFlagIsSet More... | |
| int | fbSessionExtTmplTableFlagIsSet (fbSession_t *session) |
| fbSessionExtTmplTableFlagIsSet More... | |
| 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... | |
| fbSpreadSpec_t * | fbConnSpreadCopy (fbSpreadParams_t *spec) |
| fbConnSpreadCopy More... | |
| void | fbConnSpreadFree (fbSpreadSpec_t *spec) |
| fbConnSpreadFree More... | |
| const char * | fbConnSpreadError (int err) |
| fbConnSpreadError More... | |
| void | fbExporterSetGroupsToSend (fbExporter_t *exporter, char **groups, int num_groups) |
| fbExporterSetGroupToSend More... | |
| gboolean | fbExporterCheckGroups (fbExporter_t *exporter, char **groups, int num_groups) |
| fbExporterCheckGroups 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, GError **err) |
| 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... | |
| gboolean | fbCollectorTestGroupMembership (fbCollector_t *collector, int group_offset) |
| fbCollectorTestGroupMembership 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. | |
Data Structures | |
| struct | sp_groupname_st |
| sp_groupname_t More... | |
| struct | fbSpreadSpec_st |
| fbSpreadSpec_t More... | |
| struct | fbUDPConnSpec_st |
| An UDP Connection specifier. More... | |
| struct | fbTemplateOptRec_st |
| Template metadata options record structure. More... | |
| struct | fbTemplate_st |
| An IPFIX template or options template structure. More... | |
| union | fbUDPConnSpec_st.peer |
| key to this conn spec More... | |
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 fbTemplateOptRec_st fbTemplateOptRec_t |
Template metadata options record structure.
| 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, | ||
| GError ** | err | ||
| ) |
fbCollectorAllocSocket
| listener | |
| ctx | |
| fd | |
| peer | |
| peerlen | |
| err |
| 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
| gboolean fbCollectorTestGroupMembership | ( | fbCollector_t * | collector, |
| int | group_offset | ||
| ) |
fbCollectorTestGroupMembership
| collector | |
| group_offset |
| 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 |
| fbSpreadSpec_t* fbConnSpreadCopy | ( | fbSpreadParams_t * | spec | ) |
fbConnSpreadCopy
| spec |
| const char* fbConnSpreadError | ( | int | err | ) |
fbConnSpreadError
Return a string message for the given Spread error code
| err | the spread error code |
| void fbConnSpreadFree | ( | fbSpreadSpec_t * | spec | ) |
fbConnSpreadFree
| spec |
| gboolean fbExporterCheckGroups | ( | fbExporter_t * | exporter, |
| char ** | groups, | ||
| int | num_groups | ||
| ) |
fbExporterCheckGroups
| exporter | |
| groups | |
| num_groups | of groups in above group list |
| void fbExporterFree | ( | fbExporter_t * | exporter | ) |
fbExporterFree
| exporter |
| uint16_t fbExporterGetMTU | ( | fbExporter_t * | exporter | ) |
fbExporterGetMTU
| exporter |
| void fbExporterSetGroupsToSend | ( | fbExporter_t * | exporter, |
| char ** | groups, | ||
| int | num_groups | ||
| ) |
fbExporterSetGroupToSend
| exporter | |
| groups | |
| num_groups | of groups in above group list |
| gboolean fbExportMessage | ( | fbExporter_t * | exporter, |
| uint8_t * | msgbase, | ||
| size_t | msglen, | ||
| GError ** | err | ||
| ) |
fbExportMessage
| exporter | |
| msgbase | |
| msglen | |
| err |
| fbTemplate_t* fbInfoElementAllocTypeTemplate2 | ( | fbInfoModel_t * | model, |
| gboolean | internal, | ||
| GError ** | err | ||
| ) |
fbInfoElementAllocTypeTemplate2
| model | |
| internal | |
| err |
| gboolean fbInfoElementCopyToTemplate | ( | fbInfoModel_t * | model, |
| fbInfoElement_t * | ex_ie, | ||
| fbInfoElement_t * | tmpl_ie, | ||
| GError ** | err | ||
| ) |
fbInfoElementCopyToTemplate
| model | |
| ex_ie | |
| tmpl_ie | |
| err |
| gboolean fbInfoElementCopyToTemplateByName | ( | fbInfoModel_t * | model, |
| const char * | name, | ||
| uint16_t | len_override, | ||
| fbInfoElement_t * | tmpl_ie, | ||
| GError ** | err | ||
| ) |
fbInfoElementCopyToTemplateByName
| model | |
| name | |
| len_override | |
| tmpl_ie | |
| err |
| 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 |
| void fbSessionClearExtTmplTableFlag | ( | fbSession_t * | session | ) |
fbSessionClearExtTmplTableFlag
| session |
| void fbSessionClearIntTmplTableFlag | ( | fbSession_t * | session | ) |
fbSessionClearIntTmplTableFlag
| session |
| fbSession_t* fbSessionClone | ( | fbSession_t * | base | ) |
fbSessionClone
| base |
| int fbSessionExtTmplTableFlagIsSet | ( | fbSession_t * | session | ) |
fbSessionExtTmplTableFlagIsSet
| session |
| unsigned int fbSessionGetGroup | ( | fbSession_t * | session | ) |
fbSessionGetGroup
| session |
| unsigned int fbSessionGetGroupOffset | ( | fbSession_t * | session, |
| char * | group | ||
| ) |
fbSessionGetGroupOffset
| uint32_t fbSessionGetSequence | ( | fbSession_t * | session | ) |
fbSessionGetSequence
| session |
| int fbSessionIntTmplTableFlagIsSet | ( | fbSession_t * | session | ) |
fbSessionIntTmplTableFlagIsSet
| session |
| fbNewTemplateCallback_fn fbSessionNewTemplateCallback | ( | fbSession_t * | session | ) |
Returns the callback function for a given session.
| session |
| void* fbSessionNewTemplateCallbackAppCtx | ( | fbSession_t * | session | ) |
Return the callback function's application context for a given session.
| session |
| void fbSessionSetCollector | ( | fbSession_t * | session, |
| fbCollector_t * | collector | ||
| ) |
fbSessionSetCollector
| session | |
| collector |
| void fbSessionSetGroup | ( | fbSession_t * | session, |
| char * | group | ||
| ) |
fbSessionSetGroup
| void fbSessionSetGroupParams | ( | fbSession_t * | session, |
| sp_groupname_t * | groups, | ||
| unsigned int | num_groups | ||
| ) |
fbSessionSetGroupParams
| void fbSessionSetPrivateGroup | ( | fbSession_t * | session, |
| char * | group, | ||
| char * | privgroup | ||
| ) |
fbSessionSetPrivateGroup
| void fbSessionSetSequence | ( | fbSession_t * | session, |
| uint32_t | sequence | ||
| ) |
fbSessionSetSequence
| session | |
| sequence |
| void fbSessionSetTemplateBuffer | ( | fbSession_t * | session, |
| fBuf_t * | fbuf | ||
| ) |
fbSessionSetTemplateBuffer
| session | |
| fbuf |
| void fbTemplateAddMetadataRecord | ( | fbTemplate_t * | tmpl, |
| uint16_t | tid, | ||
| const char * | name, | ||
| const char * | description | ||
| ) |
Sets the metadata_rec member of tmpl to a newly allocated fbTemplateOptRec_t, and sets its template ID, name, and description to the given parameters.
Frees any metadata_rec that already existed on the template.
| tmpl | |
| tid | |
| name | Should not be NULL |
| description | May be NULL |
| fbTemplate_t* fbTemplateAllocTemplateMetadataTmpl | ( | fbInfoModel_t * | model, |
| gboolean | internal, | ||
| GError ** | err | ||
| ) |
Allocates a new Template to describe a record that holds Template Metadata.
This is, the template_metadata_spec.
When internal is TRUE the padding is included; otherwise it is not.
| model | |
| internal | |
| err |
| 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 |
| uint16_t fBufGetExportTemplate | ( | fBuf_t * | fbuf | ) |
fBufGetExportTemplate
| uint16_t fBufGetInternalTemplate | ( | fBuf_t * | fbuf | ) |
fBufGetInternalTemplate
| void fBufRemoveTemplateTcplan | ( | fBuf_t * | fbuf, |
| fbTemplate_t * | tmpl | ||
| ) |
fBufRemoveTemplateTcplan
| void fBufRewind | ( | fBuf_t * | fbuf | ) |
fBufRewind
| fbuf |
| void fBufSetExportGroups | ( | fBuf_t * | fbuf, |
| char ** | groups, | ||
| int | num_groups, | ||
| GError ** | err | ||
| ) |
fBufSetExportGroups
| void fBufSetSession | ( | fBuf_t * | fbuf, |
| fbSession_t * | session | ||
| ) |
fBufSetSession
| struct fbSpreadSpec_st |
fbSpreadSpec_t
| Data Fields | ||
|---|---|---|
| char * | daemon |
pointer to the daemon host address, in Spread format. Must be set before the spec is passed to fbExporterAllocSpread |
| sp_groupname_t * | groups | pointer to array of group names, must have at least one, and must be null term array |
| sp_groupname_t * | groups_to_send | groups to send to |
| mailbox | mbox | the mailbox for the connection |
| int | num_groups | number of groups in groups |
| int | num_groups_to_send | |
| char | privgroup[MAX_GROUP_NAME+2] | the connection private name |
| GError * | recv_err | GError for thread errors, set by receiver, read by main. |
| int | recv_exit | flag to tell the thread to exit |
| sp_groupname_t * | recv_groups | groups array for SP_receive |
| int | recv_max | length of message buffer |
| int | recv_max_groups | max size of group name array |
| mailbox | recv_mbox | the receiver's mailbox |
| char * | recv_mess | message buffer for receive |
| int | recv_num_groups | actual size of group name array |
| char | recv_privgroup[MAX_GROUP_NAME+2] | the connection private name for the receiver |
| pthread_t | recv_thread | the receiver thread |
| fbSession_t * | session | pointer to the session, this MUST be set to a valid session before the spec is passed to fbExporterAllocSpread. |
| pthread_mutex_t | write_lock | Spread write lock. |
| struct fbUDPConnSpec_st |
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."
| Data Fields | ||
|---|---|---|
| void * | ctx |
application context. Created and owned by the app |
| time_t | last_seen | last seen time |
| struct fbUDPConnSpec_st * | next | link to next one in list |
| uint32_t | obdomain | with peer address this is the key |
| union fbUDPConnSpec_st | peer | key to this conn spec |
| size_t | peerlen | size of peer |
| struct fbUDPConnSpec_st * | prev | doubly linked to timeout faster |
| gboolean | reject | reject flag |
| fbSession_t * | session | pointer to the session for this peer address |
| struct fbTemplateOptRec_st |
Template metadata options record structure.
| Data Fields | ||
|---|---|---|
| fbVarfield_t | template_description | Template description (optional) |
| uint16_t | template_id | Template ID. |
| fbVarfield_t | template_name | Template name. |
| uint8_t | template_padding[6] | |
| struct fbTemplate_st |
An IPFIX template or options template structure.
Part of the private interface. Applications should use the fbTemplate calls defined in public.h to manipulate templates instead of accessing this structure directly.
| Data Fields | ||
|---|---|---|
| gboolean | active | TRUE if this template has been activated (is no longer mutable) |
| void * | app_ctx | The application's Context pointer for the ctx_free function. |
| fbTemplateCtxFree_fn | ctx_free | Callback to free the ctx pointer when template is freed. |
| gboolean | default_length | TRUE if any field was created using an fbInfoElementSpec_t with a defaulted length. |
| fbInfoElement_t ** | ie_ary | Ordered array of pointers to information elements in this template. |
| uint16_t | ie_count | Count of information elements in template. |
| uint16_t | ie_internal_len |
Total length required to store this template in memory. Uses sizeof(fbVarfield_t), sizeof(fbBasicList_t), etc instead of 0 as done with ie_len |
| uint16_t | ie_len |
Total length of information elements in records described by this template. If the is_varlen flag is set, this represents the minimum length of the information elements in the record (i.e. with each variable length IE's length set to 0). |
| GHashTable * | indices | Map of information element to index in ie_ary. |
| gboolean | is_varlen | Set to TRUE if this template contains any variable length IEs. |
| fbTemplateOptRec_t * | metadata_rec | |
| fbInfoModel_t * | model | Information model (for looking up information elements by spec) |
| uint16_t * | off_cache |
Field offset cache. For internal use by the transcoder. |
| int | ref_count | Reference count. |
| uint16_t | scope_count |
Count of scope information elements in template. If sie_count is greater than 0, this template is an options template. |
| void * | tmpl_ctx |
Template context. Created and owned by the application when the listener calls the fbNewTemplateCallback_fn. |
| uint16_t | tmpl_len |
Total length of the template record or options template record defining this template. Used during template input and output. |