Guardtime KSI c SDK
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Structures | Macros | Typedefs | Functions
tree_builder.h File Reference
#include "types.h"

Go to the source code of this file.

Data Structures

struct  KSI_TreeNode_st
 
struct  KSI_TreeBuilderLeafProcessor_st
 
struct  KSI_TreeBuilderLeafProcessor_list_st
 
struct  KSI_TreeBuilder_st
 
struct  KSI_TreeLeafHandle_list_st
 

Macros

#define KSI_TREE_BUILDER_STACK_LEN   0x100
 
#define KSI_TreeBuilderLeafProcessorList_append(lst, o)   KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
 
#define KSI_TreeBuilderLeafProcessorList_remove(lst, pos, o)   KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
 
#define KSI_TreeBuilderLeafProcessorList_indexOf(lst, o, i)   KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
 
#define KSI_TreeBuilderLeafProcessorList_insertAt(lst, pos, o)   KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
 
#define KSI_TreeBuilderLeafProcessorList_replaceAt(lst, pos, o)   KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
 
#define KSI_TreeBuilderLeafProcessorList_elementAt(lst, pos, o)   KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
 
#define KSI_TreeBuilderLeafProcessorList_length(lst)   (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
 
#define KSI_TreeBuilderLeafProcessorList_sort(lst, cmp)   KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
 
#define KSI_TreeBuilderLeafProcessorList_foldl(lst, foldCtx, foldFn)   (((lst) != NULL) ? ( ((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn)))) : KSI_INVALID_STATE) : KSI_OK)
 
#define KSI_TreeBuilderLeafProcessorList_find(lst, o, f, i)   KSI_APPLY_TO_NOT_NULL((lst), find, ((lst), (o), (f), (i)))
 
#define KSI_TreeLeafHandleList_append(lst, o)   KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
 
#define KSI_TreeLeafHandleList_remove(lst, pos, o)   KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
 
#define KSI_TreeLeafHandleList_indexOf(lst, o, i)   KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
 
#define KSI_TreeLeafHandleList_insertAt(lst, pos, o)   KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
 
#define KSI_TreeLeafHandleList_replaceAt(lst, pos, o)   KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
 
#define KSI_TreeLeafHandleList_elementAt(lst, pos, o)   KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
 
#define KSI_TreeLeafHandleList_length(lst)   (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
 
#define KSI_TreeLeafHandleList_sort(lst, cmp)   KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
 
#define KSI_TreeLeafHandleList_foldl(lst, foldCtx, foldFn)   (((lst) != NULL) ? ( ((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn)))) : KSI_INVALID_STATE) : KSI_OK)
 
#define KSI_TreeLeafHandleList_find(lst, o, f, i)   KSI_APPLY_TO_NOT_NULL((lst), find, ((lst), (o), (f), (i)))
 

Typedefs

typedef struct KSI_TreeNode_st KSI_TreeNode
 
typedef struct
KSI_TreeBuilderLeafProcessor_st 
KSI_TreeBuilderLeafProcessor
 
typedef struct
KSI_TreeBuilderLeafProcessor_list_st 
KSI_TreeBuilderLeafProcessorList
 
typedef struct
KSI_TreeLeafHandle_st 
KSI_TreeLeafHandle
 
typedef struct
KSI_TreeLeafHandle_list_st 
KSI_TreeLeafHandleList
 
typedef struct KSI_TreeBuilder_st KSI_TreeBuilder
 

Functions

int KSI_TreeBuilderLeafProcessorList_new (KSI_TreeBuilderLeafProcessorList **list)
 
void KSI_TreeBuilderLeafProcessorList_free (KSI_TreeBuilderLeafProcessorList *list)
 
int KSI_TreeLeafHandleList_new (KSI_TreeLeafHandleList **list)
 
void KSI_TreeLeafHandleList_free (KSI_TreeLeafHandleList *list)
 
KSI_TreeLeafHandleKSI_TreeLeafHandle_ref (KSI_TreeLeafHandle *o)
 
int KSI_TreeNode_new (KSI_CTX *ctx, KSI_DataHash *hash, KSI_MetaData *metaData, int level, KSI_TreeNode **node)
 
void KSI_TreeNode_free (KSI_TreeNode *node)
 
void KSI_TreeLeafHandle_free (KSI_TreeLeafHandle *handle)
 
int KSI_TreeLeafHandle_getAggregationChain (const KSI_TreeLeafHandle *handle, KSI_AggregationHashChain **chain)
 
int KSI_TreeLeafHandle_getTreeNode (const KSI_TreeLeafHandle *handle, KSI_TreeNode **node)
 
int KSI_TreeBuilder_new (KSI_CTX *ctx, KSI_HashAlgorithm algo, KSI_TreeBuilder **builder)
 
void KSI_TreeBuilder_free (KSI_TreeBuilder *builder)
 
int KSI_TreeBuilder_addDataHash (KSI_TreeBuilder *builder, KSI_DataHash *hsh, int level, KSI_TreeLeafHandle **leaf)
 
int KSI_TreeBuilder_addMetaData (KSI_TreeBuilder *builder, KSI_MetaData *metaData, int level, KSI_TreeLeafHandle **leaf)
 
int KSI_TreeBuilder_close (KSI_TreeBuilder *builder)