fbTemplate_st Struct Reference

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

#include <private.h>

Data Fields

fbInfoModel_tmodel
 Information model (for looking up information elements by spec)
 
int ref_count
 Reference count.
 
uint16_t ie_count
 Count of information elements in template. More...
 
uint16_t scope_count
 Count of scope information elements in template. More...
 
uint16_t ie_len
 Total length of information elements in records described by this template. More...
 
uint16_t ie_internal_len
 Total length required to store this template in a data structure. More...
 
uint16_t tmpl_len
 Total length of the template record or options template record defining this template. More...
 
gboolean is_varlen
 Set to TRUE if this template contains any variable length IEs. More...
 
fbInfoElement_t ** ie_ary
 Ordered array of pointers to information elements in this template. More...
 
GHashTable * indices
 Map of information element to index in ie_ary. More...
 
uint16_t * off_cache
 Field offset cache. More...
 
gboolean active
 TRUE if this template has been activated (is no longer mutable)
 
gboolean default_length
 TRUE if any field was created using an fbInfoElementSpec_t with a defaulted length.
 
fbTemplateOptRec_tmetadata_rec
 
void * tmpl_ctx
 Template context. More...
 
fbTemplateCtxFree_fn ctx_free
 Callback to free the ctx pointer when template is freed.
 
void * app_ctx
 The application's Context pointer for the ctx_free function.
 

Detailed Description

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.

Field Documentation

fbInfoElement_t** fbTemplate_st::ie_ary

Ordered array of pointers to information elements in this template.

uint16_t fbTemplate_st::ie_count

Count of information elements in template.

uint16_t fbTemplate_st::ie_internal_len

Total length required to store this template in a data structure.

Uses sizeof(fbVarfield_t), sizeof(fbBasicList_t), etc instead of 0 as done with ie_len

uint16_t fbTemplate_st::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* fbTemplate_st::indices

Map of information element to index in ie_ary.

gboolean fbTemplate_st::is_varlen

Set to TRUE if this template contains any variable length IEs.

uint16_t* fbTemplate_st::off_cache

Field offset cache.

For internal use by the transcoder.

uint16_t fbTemplate_st::scope_count

Count of scope information elements in template.

If sie_count is greater than 0, this template is an options template.

void* fbTemplate_st::tmpl_ctx

Template context.

Created and owned by the application when the listener calls the fbNewTemplateCallback_fn.

uint16_t fbTemplate_st::tmpl_len

Total length of the template record or options template record defining this template.

Used during template input and output.


The documentation for this struct was generated from the following file: