Guardtime KSI c SDK
types.h
Go to the documentation of this file.
1 /*
2  * Copyright 2013-2015 Guardtime, Inc.
3  *
4  * This file is part of the Guardtime client SDK.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License").
7  * You may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  * http://www.apache.org/licenses/LICENSE-2.0
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES, CONDITIONS, OR OTHER LICENSES OF ANY KIND, either
13  * express or implied. See the License for the specific language governing
14  * permissions and limitations under the License.
15  * "Guardtime" and "KSI" are trademarks or registered trademarks of
16  * Guardtime, Inc., and no license to trademarks is granted; Guardtime
17  * reserves and retains all trademark rights.
18  */
19 
20 #ifndef KSI_COM_TYPES_H_
21 #define KSI_COM_TYPES_H_
22 
23 #include <time.h>
24 #include "types_base.h"
25 #include "list.h"
26 #include "common.h"
27 #include "hash.h"
28 
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
38  typedef struct KSI_MetaDataElement_st KSI_MetaDataElement;
42  typedef struct KSI_MetaData_st KSI_MetaData;
43  typedef struct KSI_HashChainLinkIdentity_st KSI_HashChainLinkIdentity;
44  typedef struct KSI_HashChainLink_st KSI_HashChainLink;
46  typedef struct KSI_CalendarHashChain_st KSI_CalendarHashChain;
47  typedef struct KSI_ExtendPdu_st KSI_ExtendPdu;
48  typedef struct KSI_AggregationPdu_st KSI_AggregationPdu;
49  typedef struct KSI_Header_st KSI_Header;
50  typedef struct KSI_Config_st KSI_Config;
51  typedef struct KSI_AggregationReq_st KSI_AggregationReq;
52  typedef struct KSI_RequestAck_st KSI_RequestAck;
53  typedef struct KSI_AggregationResp_st KSI_AggregationResp;
54  typedef struct KSI_ExtendReq_st KSI_ExtendReq;
55  typedef struct KSI_ExtendResp_st KSI_ExtendResp;
56  typedef struct KSI_PKISignedData_st KSI_PKISignedData;
57  typedef struct KSI_PublicationsHeader_st KSI_PublicationsHeader;
58  typedef struct KSI_CertificateRecord_st KSI_CertificateRecord;
59  typedef struct KSI_PublicationData_st KSI_PublicationData;
60  typedef struct KSI_PublicationRecord_st KSI_PublicationRecord;
61  typedef struct KSI_ErrorPdu_st KSI_ErrorPdu;
62 
65 
67  typedef struct KSI_Signature_st KSI_Signature;
68 
70  typedef struct KSI_Policy_st KSI_Policy;
71 
74 
77 
83  typedef int (*KSI_RequestHeaderCallback)(KSI_Header *hdr);
84 
89 
93  typedef struct KSI_PKICertificate_st KSI_PKICertificate;
94 
98  typedef struct KSI_PKISignature_st KSI_PKISignature;
99 
103  typedef struct KSI_PKITruststore_st KSI_PKITruststore;
104 
108  typedef struct KSI_NetEndpoint_st KSI_NetEndpoint;
109 
115  typedef struct KSI_NetHandle_st KSI_RequestHandle;
116 
121  typedef struct KSI_NetworkClient_st KSI_NetworkClient;
122 
123  typedef struct KSI_AsyncService_st KSI_AsyncService;
124  typedef struct KSI_AsyncClient_st KSI_AsyncClient;
125  typedef struct KSI_AsyncHandle_st KSI_AsyncHandle;
126 
130  typedef struct KSI_AggregationHashChain_st KSI_AggregationHashChain;
131 
135  typedef struct KSI_CalendarAuthRec_st KSI_CalendarAuthRec;
136 
140  typedef struct KSI_AggregationAuthRec_st KSI_AggregationAuthRec;
141 
145  typedef struct KSI_RFC3161_st KSI_RFC3161;
146 
150  char *oid;
152  char *val;
153  };
154 
155 #define KSI_APPLY_TO_NOT_NULL(val, fn, args) (((val) != NULL) ? ( val->fn != NULL ? (val->fn args) : KSI_INVALID_STATE) : KSI_INVALID_ARGUMENT)
156 
157 
159 #define KSI_MetaDataElementList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
160 #define KSI_MetaDataElementList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
161 #define KSI_MetaDataElementList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
162 #define KSI_MetaDataElementList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
163 #define KSI_MataDataElementList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
164 #define KSI_MataDataElementList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
165 #define KSI_MataDataElementList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
166 #define KSI_MetaDataElementList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
167 #define KSI_MetaDataElementList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
168 
170 #define KSI_HashChainLinkIdentityList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
171 #define KSI_HashChainLinkIdentityList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
172 #define KSI_HashChainLinkIdentityList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
173 #define KSI_HashChainLinkIdentityList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
174 #define KSI_HashChainLinkIdentityList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
175 #define KSI_HashChainLinkIdentityList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
176 #define KSI_HashChainLinkIdentityList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
177 #define KSI_HashChainLinkIdentityList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
178 #define KSI_HashChainLinkIdentityList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
179 
181 #define KSI_HashChainLinkList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
182 #define KSI_HashChainLinkList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
183 #define KSI_HashChainLinkList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
184 #define KSI_HashChainLinkList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
185 #define KSI_HashChainLinkList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
186 #define KSI_HashChainLinkList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
187 #define KSI_HashChainLinkList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
188 #define KSI_HashChainLinkList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
189 #define KSI_HashChainLinkList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
190 
191  KSI_DEFINE_LIST(KSI_CalendarHashChainLink);
192 #define KSI_CalendarHashChainLinkList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
193 #define KSI_CalendarHashChainLinkList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
194 #define KSI_CalendarHashChainLinkList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
195 #define KSI_CalendarHashChainLinkList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
196 #define KSI_CalendarHashChainLinkList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
197 #define KSI_CalendarHashChainLinkList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
198 #define KSI_CalendarHashChainLinkList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
199 #define KSI_CalendarHashChainLinkList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
200 #define KSI_CalendarHashChainLinkList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
201 
203 #define KSI_CalendarHashChainList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
204 #define KSI_CalendarHashChainList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
205 #define KSI_CalendarHashChainList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
206 #define KSI_CalendarHashChainList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
207 #define KSI_CalendarHashChainList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
208 #define KSI_CalendarHashChainList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
209 #define KSI_CalendarHashChainList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
210 #define KSI_CalendarHashChainList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
211 #define KSI_CalendarHashChainList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
212 
214 #define KSI_ExtendPduList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
215 #define KSI_ExtendPduList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
216 #define KSI_ExtendPduList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
217 #define KSI_ExtendPduList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
218 #define KSI_ExtendPduList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
219 #define KSI_ExtendPduList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
220 #define KSI_ExtendPduList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
221 #define KSI_ExtendPduList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
222 #define KSI_ExtendPduList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
223 
225 #define KSI_AggregationPduList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
226 #define KSI_AggregationPduList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
227 #define KSI_AggregationPduList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
228 #define KSI_AggregationPduList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
229 #define KSI_AggregationPduList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
230 #define KSI_AggregationPduList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
231 #define KSI_AggregationPduList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
232 #define KSI_AggregationPduList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
233 #define KSI_AggregationPduList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
234 
236 #define KSI_HeaderList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
237 #define KSI_HeaderList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
238 #define KSI_HeaderList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
239 #define KSI_HeaderList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
240 #define KSI_HeaderList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
241 #define KSI_HeaderList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
242 #define KSI_HeaderList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
243 #define KSI_HeaderList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
244 #define KSI_HeaderList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
245 
247 #define KSI_ConfigList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
248 #define KSI_ConfigList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
249 #define KSI_ConfigList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
250 #define KSI_ConfigList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
251 #define KSI_ConfigList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
252 #define KSI_ConfigList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
253 #define KSI_ConfigList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
254 #define KSI_ConfigList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
255 #define KSI_ConfigList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
256 
258 #define KSI_AggregationReqList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
259 #define KSI_AggregationReqList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
260 #define KSI_AggregationReqList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
261 #define KSI_AggregationReqList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
262 #define KSI_AggregationReqList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
263 #define KSI_AggregationReqList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
264 #define KSI_AggregationReqList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
265 #define KSI_AggregationReqList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
266 #define KSI_AggregationReqList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
267 
269 #define KSI_RequestAckList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
270 #define KSI_RequestAckList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
271 #define KSI_RequestAckList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
272 #define KSI_RequestAckList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
273 #define KSI_RequestAckList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
274 #define KSI_RequestAckList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
275 #define KSI_RequestAckList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
276 #define KSI_RequestAckList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
277 #define KSI_RequestAckList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
278 
280 #define KSI_AggregationRespList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
281 #define KSI_AggregationRespList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
282 #define KSI_AggregationRespList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
283 #define KSI_AggregationRespList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
284 #define KSI_AggregationRespList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
285 #define KSI_AggregationRespList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
286 #define KSI_AggregationRespList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
287 #define KSI_AggregationRespList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
288 #define KSI_AggregationRespList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
289 
291 #define KSI_ExtendReqList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
292 #define KSI_ExtendReqList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
293 #define KSI_ExtendReqList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
294 #define KSI_ExtendReqList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
295 #define KSI_ExtendReqList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
296 #define KSI_ExtendReqList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
297 #define KSI_ExtendReqList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
298 #define KSI_ExtendReqList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
299 #define KSI_ExtendReqList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
300 
302 #define KSI_ExtendRespList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
303 #define KSI_ExtendRespList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
304 #define KSI_ExtendRespList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
305 #define KSI_ExtendRespList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
306 #define KSI_ExtendRespList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
307 #define KSI_ExtendRespList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
308 #define KSI_ExtendRespList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
309 #define KSI_ExtendRespList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
310 #define KSI_ExtendRespList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
311 
313 #define KSI_PKISignedDataList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
314 #define KSI_PKISignedDataList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
315 #define KSI_PKISignedDataList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
316 #define KSI_PKISignedDataList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
317 #define KSI_PKISignedDataList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
318 #define KSI_PKISignedDataList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
319 #define KSI_PKISignedDataList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
320 #define KSI_PKISignedDataList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
321 #define KSI_PKISignedDataList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
322 
324 #define KSI_PublicationsHeaderList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
325 #define KSI_PublicationsHeaderList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
326 #define KSI_PublicationsHeaderList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
327 #define KSI_PublicationsHeaderList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
328 #define KSI_PublicationsHeaderList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
329 #define KSI_PublicationsHeaderList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
330 #define KSI_PublicationsHeaderList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
331 #define KSI_PublicationsHeaderList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
332 #define KSI_PublicationsHeaderList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
333 
335 #define KSI_CertificateRecordList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
336 #define KSI_CertificateRecordList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
337 #define KSI_CertificateRecordList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
338 #define KSI_CertificateRecordList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
339 #define KSI_CertificateRecordList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
340 #define KSI_CertificateRecordList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
341 #define KSI_CertificateRecordList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
342 #define KSI_CertificateRecordList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
343 #define KSI_CertificateRecordList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
344 
346 #define KSI_PublicationDataList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
347 #define KSI_PublicationDataList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
348 #define KSI_PublicationDataList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
349 #define KSI_PublicationDataList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
350 #define KSI_PublicationDataList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
351 #define KSI_PublicationDataList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
352 #define KSI_PublicationDataList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
353 #define KSI_PublicationDataList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
354 #define KSI_PublicationDataList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
355 
357 #define KSI_PublicationRecordList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
358 #define KSI_PublicationRecordList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
359 #define KSI_PublicationRecordList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
360 #define KSI_PublicationRecordList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
361 #define KSI_PublicationRecordList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
362 #define KSI_PublicationRecordList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
363 #define KSI_PublicationRecordList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
364 #define KSI_PublicationRecordList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
365 #define KSI_PublicationRecordList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
366 
368 #define KSI_IntegerList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
369 #define KSI_IntegerList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
370 #define KSI_IntegerList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
371 #define KSI_IntegerList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
372 #define KSI_IntegerList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
373 #define KSI_IntegerList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
374 #define KSI_IntegerList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
375 #define KSI_IntegerList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
376 #define KSI_IntegerList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
377 
379 #define KSI_OctetStringList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
380 #define KSI_OctetStringList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
381 #define KSI_OctetStringList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
382 #define KSI_OctetStringList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
383 #define KSI_OctetStringList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
384 #define KSI_OctetStringList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
385 #define KSI_OctetStringList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
386 #define KSI_OctetStringList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
387 #define KSI_OctetStringList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
388 
390 #define KSI_Utf8StringList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
391 #define KSI_Utf8StringList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
392 #define KSI_Utf8StringList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
393 #define KSI_Utf8StringList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
394 #define KSI_Utf8StringList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
395 #define KSI_Utf8StringList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
396 #define KSI_Utf8StringList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
397 #define KSI_Utf8StringList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
398 #define KSI_Utf8StringList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
399 
401 #define KSI_Utf8StringNZList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
402 #define KSI_Utf8StringNZList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
403 #define KSI_Utf8StringNZList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
404 #define KSI_Utf8StringNZList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
405 #define KSI_Utf8StringNZList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
406 #define KSI_Utf8StringNZList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
407 #define KSI_Utf8StringNZList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
408 #define KSI_Utf8StringNZList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
409 #define KSI_Utf8StringNZList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
410 
412 #define KSI_AggregationHashChainList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
413 #define KSI_AggregationHashChainList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
414 #define KSI_AggregationHashChainList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
415 #define KSI_AggregationHashChainList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
416 #define KSI_AggregationHashChainList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
417 #define KSI_AggregationHashChainList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
418 #define KSI_AggregationHashChainList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
419 #define KSI_AggregationHashChainList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
420 #define KSI_AggregationHashChainList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
421 
423 #define KSI_CalendarAuthRecList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
424 #define KSI_CalendarAuthRecList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
425 #define KSI_CalendarAuthRecList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
426 #define KSI_CalendarAuthRecList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
427 #define KSI_CalendarAuthRecList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
428 #define KSI_CalendarAuthRecList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
429 #define KSI_CalendarAuthRecList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
430 #define KSI_CalendarAuthRecList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
431 #define KSI_CalendarAuthRecList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
432 
434 #define KSI_TLVList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
435 #define KSI_TLVList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
436 #define KSI_TLVList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
437 #define KSI_TLVList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
438 #define KSI_TLVList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
439 #define KSI_TLVList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
440 #define KSI_TLVList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
441 #define KSI_TLVList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
442 #define KSI_TLVList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
443 
445 #define KSI_PKICertificateList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
446 #define KSI_PKICertificateList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
447 #define KSI_PKICertificateList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
448 #define KSI_PKICertificateList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
449 #define KSI_PKICertificateList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
450 #define KSI_PKICertificateList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
451 #define KSI_PKICertificateList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
452 #define KSI_PKICertificateList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
453 #define KSI_PKICertificateList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
454 
456 #define KSI_AggregationAuthRecList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
457 #define KSI_AggregationAuthRecList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
458 #define KSI_AggregationAuthRecList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
459 #define KSI_AggregationAuthRecList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
460 #define KSI_AggregationAuthRecList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
461 #define KSI_AggregationAuthRecList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
462 #define KSI_AggregationAuthRecList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
463 #define KSI_AggregationAuthRecList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
464 #define KSI_AggregationAuthRecList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
465 
467 #define KSI_RFC3161List_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
468 #define KSI_RFC3161List_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
469 #define KSI_RFC3161List_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
470 #define KSI_RFC3161List_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
471 #define KSI_RFC3161List_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
472 #define KSI_RFC3161List_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
473 #define KSI_RFC3161List_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
474 #define KSI_RFC3161List_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
475 #define KSI_RFC3161List_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
476 
478 #define KSI_RequestHandleList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
479 #define KSI_RequestHandleList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
480 #define KSI_RequestHandleList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
481 #define KSI_RequestHandleList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
482 #define KSI_RequestHandleList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
483 #define KSI_RequestHandleList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
484 #define KSI_RequestHandleList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
485 #define KSI_RequestHandleList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
486 #define KSI_RequestHandleList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
487 
489 #define KSI_AsyncHandleList_append(lst, o) KSI_APPLY_TO_NOT_NULL((lst), append, ((lst), (o)))
490 #define KSI_AsyncHandleList_remove(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), removeElement, ((lst), (pos), (o)))
491 #define KSI_AsyncHandleList_indexOf(lst, o, i) KSI_APPLY_TO_NOT_NULL((lst), indexOf, ((lst), (o), (i)))
492 #define KSI_AsyncHandleList_insertAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), insertAt, ((lst), (pos), (o)))
493 #define KSI_AsyncHandleList_replaceAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), replaceAt, ((lst), (pos), (o)))
494 #define KSI_AsyncHandleList_elementAt(lst, pos, o) KSI_APPLY_TO_NOT_NULL((lst), elementAt, ((lst), (pos), (o)))
495 #define KSI_AsyncHandleList_length(lst) (((lst) != NULL && (lst)->length != NULL) ? (lst)->length((lst)) : 0)
496 #define KSI_AsyncHandleList_sort(lst, cmp) KSI_APPLY_TO_NOT_NULL((lst), sort, ((lst), (cmp)))
497 #define KSI_AsyncHandleList_foldl(lst, foldCtx, foldFn) (((lst) != NULL) ? (((lst)->foldl != NULL) ? ((lst)->foldl((lst), (foldCtx), (foldFn))) : KSI_INVALID_STATE) : KSI_OK)
498 
499 
500 /*
501  * KSI_MetaDataElement.
502  */
513 int KSI_MetaDataElement_toTlv(KSI_CTX *ctx, const KSI_MetaDataElement *data, unsigned tag, int isNonCritical, int isForward, KSI_TLV **tlv);
516 
522 
529 int KSI_MetaData_new(KSI_CTX *ctx, KSI_MetaData **t);
530 
539 
548 
557 
566 
568 
569 /*
570  * KSI_ExtendPdu
571  */
574 int KSI_ExtendPdu_verifyHmac(const KSI_ExtendPdu *pdu, const char *pass);
575 int KSI_ExtendPdu_calculateHmac(const KSI_ExtendPdu *t, KSI_HashAlgorithm algo_id, const char *key, KSI_DataHash **hmac);
576 int KSI_ExtendPdu_updateHmac(KSI_ExtendPdu *pdu, KSI_HashAlgorithm algo_id, const char *key);
577 int KSI_ExtendPdu_getHeader(const KSI_ExtendPdu *t, KSI_Header **header);
578 int KSI_ExtendPdu_getRequest(const KSI_ExtendPdu *t, KSI_ExtendReq **request);
579 int KSI_ExtendPdu_getResponse(const KSI_ExtendPdu *t, KSI_ExtendResp **response);
580 int KSI_ExtendPdu_getConfRequest(const KSI_ExtendPdu *t, KSI_Config **confRequest);
581 int KSI_ExtendPdu_getConfResponse(const KSI_ExtendPdu *t, KSI_Config **confResponse);
582 int KSI_ExtendPdu_getHmac(const KSI_ExtendPdu *t, KSI_DataHash **hmac);
583 int KSI_ExtendPdu_getError(const KSI_ExtendPdu *t, KSI_ErrorPdu **error);
591 int KSI_ExtendReq_enclose(KSI_ExtendReq *req, const char *loginId, const char *key, KSI_ExtendPdu **pdu);
592 
595 
596 /*
597  * KSI_ErrorPdu
598  */
599 int KSI_ErrorPdu_new(KSI_CTX *ctx, KSI_ErrorPdu **pdu);
601 int KSI_ErrorPdu_getStatus(const KSI_ErrorPdu *pdu, KSI_Integer **status);
602 int KSI_ErrorPdu_getErrorMessage(const KSI_ErrorPdu *pdu, KSI_Utf8String **errorMsg);
605 
606 /*
607  * KSI_AggregationPdu
608  */
609 
612 int KSI_AggregationPdu_verify(const KSI_AggregationPdu *pdu, const char *pass);
613 int KSI_AggregationPdu_verifyHmac(const KSI_AggregationPdu *pdu, const char *pass);
614 int KSI_AggregationPdu_calculateHmac(const KSI_AggregationPdu *t, KSI_HashAlgorithm algo_id, const char *key, KSI_DataHash **hmac);
615 int KSI_AggregationPdu_updateHmac(KSI_AggregationPdu *pdu, KSI_HashAlgorithm algo_id, const char *key);
635 int KSI_AggregationReq_enclose(KSI_AggregationReq *req, const char *loginId, const char *key, KSI_AggregationPdu **pdu);
638 
639 /*
640  * KSI_Header
641  */
642 void KSI_Header_free(KSI_Header *t);
643 int KSI_Header_new(KSI_CTX *ctx, KSI_Header **t);
644 int KSI_Header_getInstanceId(const KSI_Header *t, KSI_Integer **instanceId);
645 int KSI_Header_getMessageId(const KSI_Header *t, KSI_Integer **messageId);
646 int KSI_Header_getLoginId(const KSI_Header *t, KSI_Utf8String **loginId);
647 int KSI_Header_setInstanceId(KSI_Header *t, KSI_Integer *instanceId);
651 
652 int KSI_Header_fromTlv(KSI_TLV *tlv, KSI_Header **data);
653 int KSI_Header_toTlv (KSI_CTX *ctx, const KSI_Header *data, unsigned tag, int isNonCritical, int isForward, KSI_TLV **tlv);
654 /*
655  * KSI_Config
656  */
657 void KSI_Config_free(KSI_Config *t);
658 int KSI_Config_new(KSI_CTX *ctx, KSI_Config **t);
659 int KSI_Config_getMaxLevel(const KSI_Config *t, KSI_Integer **maxLevel);
660 int KSI_Config_getAggrAlgo(const KSI_Config *t, KSI_Integer **aggrAlgo);
661 int KSI_Config_getAggrPeriod(const KSI_Config *t, KSI_Integer **aggrPeriod);
662 int KSI_Config_getMaxRequests(const KSI_Config *t, KSI_Integer **maxRequests);
663 int KSI_Config_getParentUri(const KSI_Config *t, KSI_LIST(KSI_Utf8String) **parentUri);
664 int KSI_Config_getCalendarFirstTime(const KSI_Config *t, KSI_Integer **calendarFirstTime);
665 int KSI_Config_getCalendarLastTime(const KSI_Config *t, KSI_Integer **calendarLastTime);
668 int KSI_Config_setAggrPeriod(KSI_Config *t, KSI_Integer *aggrPeriod);
669 int KSI_Config_setMaxRequests(KSI_Config *t, KSI_Integer *maxRequests);
671 int KSI_Config_setCalendarFirstTime(KSI_Config *t, KSI_Integer *calendarFirstTime);
672 int KSI_Config_setCalendarLastTime(KSI_Config *t, KSI_Integer *calendarLastTime);
674 
675 /*
676  * KSI_AggregationConf
677  */
678 #define KSI_AggregationConf_free KSI_Config_free
679 #define KSI_AggregationConf_new KSI_Config_new
680 
681 /*
682  * KSI_ExtendConf
683  */
684 #define KSI_ExtendConf_free KSI_Config_free
685 #define KSI_ExtendConf_new KSI_Config_new
686 
687 /*
688  * KSI_AggregationReq
689  */
701 int KSI_AggregationReq_toTlv (KSI_CTX *ctx, const KSI_AggregationReq *data, unsigned tag, int isNonCritical, int isForward, KSI_TLV **tlv);
702 
704 
705 /*
706  * KSI_RequestAck
707  */
711 int KSI_RequestAck_getRequestTime(const KSI_RequestAck *t, KSI_Integer **requestTime);
712 int KSI_RequestAck_getReceiptTime(const KSI_RequestAck *t, KSI_Integer **receiptTime);
713 int KSI_RequestAck_getAcknowledgeTime(const KSI_RequestAck *t, KSI_Integer **acknowledgeTime);
714 int KSI_RequestAck_getAggregationPeriod(const KSI_RequestAck *t, KSI_Integer **aggregationPeriod);
715 int KSI_RequestAck_getAggregationDelay(const KSI_RequestAck *t, KSI_Integer **aggregationDelay);
716 int KSI_RequestAck_getAggregationDrift(const KSI_RequestAck *t, KSI_Integer **aggregationDrift);
723 
724 /*
725  * KSI_AggregationAckReq
726  */
727 #define KSI_AggregationAckReq_free KSI_RequestAck_free
728 #define KSI_AggregationAckReq_new KSI_RequestAck_new
729 
730 /*
731  * KSI_AggregationAck
732  */
733 #define KSI_AggregationAck_free KSI_RequestAck_free
734 #define KSI_AggregationAck_new KSI_RequestAck_new
735 
736 /*
737  * KSI_AggregationResp
738  */
761 
763 int KSI_AggregationResp_toTlv (KSI_CTX *ctx, const KSI_AggregationResp *data, unsigned tag, int isNonCritical, int isForward, KSI_TLV **tlv);
764 
766 
773 
774 
775 /*
776  * KSI_ExtendReq
777  */
780 int KSI_ExtendReq_getRequestId(const KSI_ExtendReq *t, KSI_Integer **requestId);
781 int KSI_ExtendReq_getAggregationTime(const KSI_ExtendReq *t, KSI_Integer **aggregationTime);
782 int KSI_ExtendReq_getPublicationTime(const KSI_ExtendReq *t, KSI_Integer **publicationTime);
783 int KSI_ExtendReq_getConfig(const KSI_ExtendReq *t, KSI_Config **config);
788 int KSI_ExtendReq_fromTlv (KSI_TLV *tlv, KSI_ExtendReq **data);
789 int KSI_ExtendReq_toTlv (KSI_CTX *ctx, const KSI_ExtendReq *data, unsigned tag, int isNonCritical, int isForward, KSI_TLV **tlv);
790 
792 
793 /*
794  * KSI_ExtendResp
795  */
798 int KSI_ExtendResp_getRequestId(const KSI_ExtendResp *t, KSI_Integer **requestId);
799 int KSI_ExtendResp_getStatus(const KSI_ExtendResp *t, KSI_Integer **status);
801 int KSI_ExtendResp_getLastTime(const KSI_ExtendResp *t, KSI_Integer **lastTime);
802 int KSI_ExtendResp_getConfig(const KSI_ExtendResp *t, KSI_Config **config);
811 int KSI_ExtendResp_toTlv (KSI_CTX *ctx, const KSI_ExtendResp *data, unsigned tag, int isNonCritical, int isForward, KSI_TLV **tlv);
812 
819 
820 
821 /*
822  * KSI_PKISignedData
823  */
834 
835 /*
836  * KSI_PublicationsHeader
837  */
846 
847 /*
848  * KSI_CertificateRecord
849  */
856 
857 /*
858  * KSI_AggregationAuthRec
859  */
862 
868 
876 
877 /*
878  * KSI_CalendarAuthRec
879  */
882 
886 
896 void KSI_RFC3161_free(KSI_RFC3161 *rfc);
897 int KSI_RFC3161_new(KSI_CTX *ctx, KSI_RFC3161 **out);
898 
899 int KSI_RFC3161_getAggregationTime (const KSI_RFC3161 *o, KSI_Integer **aggregationTime);
900 int KSI_RFC3161_getChainIndex (const KSI_RFC3161 *o, KSI_IntegerList **chainIndex);
901 int KSI_RFC3161_getInputHash (const KSI_RFC3161 *o, KSI_DataHash **inputHash);
902 int KSI_RFC3161_getTstInfoPrefix (const KSI_RFC3161 *o, KSI_OctetString **tstInfoPrefix);
903 int KSI_RFC3161_getTstInfoSuffix (const KSI_RFC3161 *o, KSI_OctetString **tstInfoSuffix);
904 int KSI_RFC3161_getTstInfoAlgo (const KSI_RFC3161 *o, KSI_Integer **tstInfoAlgo);
905 int KSI_RFC3161_getSigAttrPrefix (const KSI_RFC3161 *o, KSI_OctetString **sigAttrPrefix);
906 int KSI_RFC3161_getSigAttrSuffix (const KSI_RFC3161 *o, KSI_OctetString **sigAttrSuffix);
907 int KSI_RFC3161_getSigAttrAlgo (const KSI_RFC3161 *o, KSI_Integer **sigAttrAlgo);
908 
909 int KSI_RFC3161_setAggregationTime (KSI_RFC3161 *o, KSI_Integer *aggregationTime);
914 int KSI_RFC3161_setTstInfoAlgo (KSI_RFC3161 *o, KSI_Integer *tstInfoAlgo);
917 int KSI_RFC3161_setSigAttrAlgo (KSI_RFC3161 *o, KSI_Integer *sigAttrAlgo);
923 #ifdef __cplusplus
924 }
925 #endif
926 
927 
928 #endif
int KSI_CalendarAuthRec_getSignatureData(const KSI_CalendarAuthRec *rec, KSI_PKISignedData **signatureData)
int KSI_AggregationResp_getCalendarAuthRec(const KSI_AggregationResp *t, KSI_CalendarAuthRec **calendarAuthRec)
int KSI_AggregationAuthRec_new(KSI_CTX *ctx, KSI_AggregationAuthRec **out)
int KSI_ExtendPdu_getResponse(const KSI_ExtendPdu *t, KSI_ExtendResp **response)
struct KSI_NetEndpoint_st KSI_NetEndpoint
Definition: types.h:108
KSI_HashChainLink KSI_CalendarHashChainLink
Definition: types.h:45
int KSI_PKISignedData_new(KSI_CTX *ctx, KSI_PKISignedData **t)
int KSI_AggregationPdu_getConfRequest(const KSI_AggregationPdu *t, KSI_Config **confRequest)
struct KSI_PKISignature_st KSI_PKISignature
Definition: types.h:98
int KSI_ErrorPdu_new(KSI_CTX *ctx, KSI_ErrorPdu **pdu)
void KSI_Header_free(KSI_Header *t)
int KSI_AggregationResp_getBaseTlv(const KSI_AggregationResp *o, KSI_TLV **baseTlv)
int KSI_RFC3161_getChainIndex(const KSI_RFC3161 *o, KSI_IntegerList **chainIndex)
int KSI_ExtendPdu_updateHmac(KSI_ExtendPdu *pdu, KSI_HashAlgorithm algo_id, const char *key)
int KSI_AggregationAuthRec_getAggregationTime(const KSI_AggregationAuthRec *rec, KSI_Integer **aggregationTime)
int KSI_RequestAck_setAggregationPeriod(KSI_RequestAck *t, KSI_Integer *aggregationPeriod)
void KSI_PublicationsHeader_free(KSI_PublicationsHeader *t)
int KSI_Header_new(KSI_CTX *ctx, KSI_Header **t)
int KSI_AggregationReq_setConfig(KSI_AggregationReq *t, KSI_Config *config)
struct KSI_CertificateRecord_st KSI_CertificateRecord
Definition: types.h:58
struct KSI_AsyncHandle_st KSI_AsyncHandle
Definition: types.h:125
int KSI_ExtendResp_setStatus(KSI_ExtendResp *t, KSI_Integer *status)
int KSI_ExtendPdu_new(KSI_CTX *ctx, KSI_ExtendPdu **t)
int KSI_AggregationResp_getConfig(const KSI_AggregationResp *t, KSI_Config **config)
int KSI_AggregationResp_setErrorMsg(KSI_AggregationResp *t, KSI_Utf8String *errorMsg)
int KSI_AggregationPdu_getRequest(const KSI_AggregationPdu *t, KSI_AggregationReq **request)
int KSI_AggregationAuthRec_getSigData(const KSI_AggregationAuthRec *rec, KSI_PKISignedData **signatureData)
struct KSI_Integer_st KSI_Integer
Definition: types_base.h:140
int KSI_AggregationResp_setStatus(KSI_AggregationResp *t, KSI_Integer *status)
int KSI_PKISignedData_setCertRepositoryUri(KSI_PKISignedData *t, KSI_Utf8String *certRepositoryUri)
void KSI_RFC3161_free(KSI_RFC3161 *rfc)
int KSI_PublicationsHeader_getVersion(const KSI_PublicationsHeader *t, KSI_Integer **version)
int KSI_Header_setInstanceId(KSI_Header *t, KSI_Integer *instanceId)
int KSI_ExtendPdu_calculateHmac(const KSI_ExtendPdu *t, KSI_HashAlgorithm algo_id, const char *key, KSI_DataHash **hmac)
int KSI_AggregationReq_encloseWithHeader(KSI_AggregationReq *req, KSI_Header *hdr, const char *key, KSI_AggregationPdu **pdu)
int KSI_AggregationReq_getConfig(const KSI_AggregationReq *t, KSI_Config **config)
void KSI_CalendarAuthRec_free(KSI_CalendarAuthRec *calAuth)
int KSI_MetaData_new(KSI_CTX *ctx, KSI_MetaData **t)
int KSI_RFC3161_setInputHash(KSI_RFC3161 *o, KSI_DataHash *inputHash)
int KSI_RequestAck_setAcknowledgeTime(KSI_RequestAck *t, KSI_Integer *acknowledgeTime)
int KSI_PublicationsHeader_getRepositoryUri(const KSI_PublicationsHeader *t, KSI_Utf8String **repositoryUri)
struct KSI_PublicationData_st KSI_PublicationData
Definition: types.h:59
int KSI_Config_getCalendarFirstTime(const KSI_Config *t, KSI_Integer **calendarFirstTime)
int KSI_ErrorPdu_getStatus(const KSI_ErrorPdu *pdu, KSI_Integer **status)
int KSI_MetaData_setSequenceNr(KSI_MetaData *t, KSI_Integer *sequenceNr)
int KSI_ExtendResp_setErrorMsg(KSI_ExtendResp *t, KSI_Utf8String *errorMsg)
int KSI_CalendarAuthRec_getSignatureAlgo(const KSI_CalendarAuthRec *rec, KSI_Utf8String **signatureAlgo)
int KSI_RequestAck_new(KSI_CTX *ctx, KSI_RequestAck **t)
int KSI_AggregationPdu_setConfResponse(KSI_AggregationPdu *t, KSI_Config *confResponse)
int KSI_AggregationResp_setRequestAck(KSI_AggregationResp *t, KSI_RequestAck *requestAck)
int KSI_Config_setMaxRequests(KSI_Config *t, KSI_Integer *maxRequests)
void KSI_ExtendPdu_free(KSI_ExtendPdu *t)
int KSI_ExtendReq_getAggregationTime(const KSI_ExtendReq *t, KSI_Integer **aggregationTime)
int KSI_ExtendResp_toTlv(KSI_CTX *ctx, const KSI_ExtendResp *data, unsigned tag, int isNonCritical, int isForward, KSI_TLV **tlv)
struct KSI_NetHandle_st KSI_RequestHandle
Definition: types.h:115
int KSI_Config_setParentUri(KSI_Config *t, KSI_LIST(KSI_Utf8String) *parentUri)
int KSI_ExtendReq_setPublicationTime(KSI_ExtendReq *t, KSI_Integer *publicationTime)
int KSI_Config_getMaxLevel(const KSI_Config *t, KSI_Integer **maxLevel)
int KSI_ExtendResp_setLastTime(KSI_ExtendResp *t, KSI_Integer *lastTime)
void KSI_Config_free(KSI_Config *t)
int KSI_ExtendResp_getLastTime(const KSI_ExtendResp *t, KSI_Integer **lastTime)
int KSI_PublicationsHeader_setVersion(KSI_PublicationsHeader *t, KSI_Integer *version)
int KSI_ExtendPdu_setConfRequest(KSI_ExtendPdu *t, KSI_Config *confRequest)
int KSI_AggregationResp_getAggregationAuthRec(const KSI_AggregationResp *t, KSI_AggregationAuthRec **aggregationAuthRec)
int KSI_MetaDataElement_getSequenceNr(KSI_MetaDataElement *t, KSI_Integer **sequenceNr)
int KSI_Config_getCalendarLastTime(const KSI_Config *t, KSI_Integer **calendarLastTime)
int KSI_ExtendPdu_getError(const KSI_ExtendPdu *t, KSI_ErrorPdu **error)
int KSI_MetaDataElement_getClientId(KSI_MetaDataElement *t, KSI_Utf8String **clientId)
void KSI_AggregationReq_free(KSI_AggregationReq *t)
struct KSI_MetaDataElement_st KSI_MetaDataElement
Definition: types.h:38
int KSI_AggregationResp_setRequestId(KSI_AggregationResp *t, KSI_Integer *requestId)
int KSI_PKISignedData_getCertRepositoryUri(const KSI_PKISignedData *t, KSI_Utf8String **certRepositoryUri)
int KSI_RFC3161_getTstInfoSuffix(const KSI_RFC3161 *o, KSI_OctetString **tstInfoSuffix)
struct KSI_HashChainLink_st KSI_HashChainLink
Definition: types.h:44
int KSI_AggregationPdu_calculateHmac(const KSI_AggregationPdu *t, KSI_HashAlgorithm algo_id, const char *key, KSI_DataHash **hmac)
struct KSI_ExtendReq_st KSI_ExtendReq
Definition: types.h:54
struct KSI_AsyncService_st KSI_AsyncService
Definition: types.h:123
int KSI_AggregationPdu_verify(const KSI_AggregationPdu *pdu, const char *pass)
int KSI_Config_getAggrPeriod(const KSI_Config *t, KSI_Integer **aggrPeriod)
int KSI_AggregationResp_setCalendarChain(KSI_AggregationResp *t, KSI_CalendarHashChain *calendarChain)
int KSI_RFC3161_new(KSI_CTX *ctx, KSI_RFC3161 **out)
int KSI_ExtendResp_getRequestId(const KSI_ExtendResp *t, KSI_Integer **requestId)
int KSI_Header_fromTlv(KSI_TLV *tlv, KSI_Header **data)
int KSI_ExtendResp_getErrorMsg(const KSI_ExtendResp *t, KSI_Utf8String **errorMsg)
struct KSI_PublicationRecord_st KSI_PublicationRecord
Definition: types.h:60
#define KSI_DEFINE_REF(typ)
Definition: types_base.h:56
struct KSI_DataHash_st KSI_DataHash
Definition: hash.h:52
struct KSI_ExtendResp_st KSI_ExtendResp
Definition: types.h:55
void KSI_PKISignedData_free(KSI_PKISignedData *t)
int KSI_AggregationPdu_setAckResponse(KSI_AggregationPdu *t, KSI_RequestAck *ackResponse)
int KSI_AggregationPdu_setHmac(KSI_AggregationPdu *t, KSI_DataHash *hmac)
int KSI_AggregationAuthRec_setChainIndex(KSI_AggregationAuthRec *rec, KSI_LIST(KSI_Integer) *chainIndexesList)
struct KSI_AggregationReq_st KSI_AggregationReq
Definition: types.h:51
int KSI_ExtendResp_setCalendarHashChain(KSI_ExtendResp *t, KSI_CalendarHashChain *calendarHashChain)
int KSI_AggregationAuthRec_setSigData(KSI_AggregationAuthRec *rec, KSI_PKISignedData *signatureData)
int KSI_AggregationPdu_updateHmac(KSI_AggregationPdu *pdu, KSI_HashAlgorithm algo_id, const char *key)
void KSI_MetaData_free(KSI_MetaData *t)
struct KSI_Header_st KSI_Header
Definition: types.h:49
int KSI_ErrorPdu_setStatus(KSI_ErrorPdu *pdu, KSI_Integer *status)
int KSI_AggregationResp_getAggregationChainList(const KSI_AggregationResp *t, KSI_LIST(KSI_AggregationHashChain) **aggregationChainList)
int KSI_Header_toTlv(KSI_CTX *ctx, const KSI_Header *data, unsigned tag, int isNonCritical, int isForward, KSI_TLV **tlv)
int KSI_CalendarAuthRec_new(KSI_CTX *ctx, KSI_CalendarAuthRec **out)
struct KSI_AggregationResp_st KSI_AggregationResp
Definition: types.h:53
int KSI_Config_getMaxRequests(const KSI_Config *t, KSI_Integer **maxRequests)
int KSI_ExtendReq_setRequestId(KSI_ExtendReq *t, KSI_Integer *requestId)
int(* KSI_RequestHeaderCallback)(KSI_Header *hdr)
Definition: types.h:83
int KSI_CalendarAuthRec_setSignatureData(KSI_CalendarAuthRec *rec, KSI_PKISignedData *signatureData)
int KSI_MetaDataElement_new(KSI_CTX *ctx, KSI_MetaDataElement **t)
int KSI_RFC3161_getInputHash(const KSI_RFC3161 *o, KSI_DataHash **inputHash)
int KSI_ErrorPdu_getErrorMessage(const KSI_ErrorPdu *pdu, KSI_Utf8String **errorMsg)
int KSI_AggregationReq_fromTlv(KSI_TLV *tlv, KSI_AggregationReq **data)
int KSI_RFC3161_setTstInfoPrefix(KSI_RFC3161 *o, KSI_OctetString *tstInfoPrefix)
int KSI_PKISignedData_getSignatureValue(const KSI_PKISignedData *t, KSI_OctetString **signatureValue)
int KSI_AggregationPdu_getResponse(const KSI_AggregationPdu *t, KSI_AggregationResp **response)
int KSI_AggregationPdu_setAckRequest(KSI_AggregationPdu *t, KSI_RequestAck *ackRequest)
int KSI_AggregationAuthRec_getInputHash(const KSI_AggregationAuthRec *rec, KSI_DataHash **inputHash)
int KSI_RequestAck_getAcknowledgeTime(const KSI_RequestAck *t, KSI_Integer **acknowledgeTime)
int KSI_PublicationsHeader_setRepositoryUri(KSI_PublicationsHeader *t, KSI_Utf8String *repositoryUri)
int KSI_AggregationReq_enclose(KSI_AggregationReq *req, const char *loginId, const char *key, KSI_AggregationPdu **pdu)
enum KSI_HashAlgorithm_en KSI_HashAlgorithm
int KSI_ExtendPdu_setError(KSI_ExtendPdu *t, KSI_ErrorPdu *error)
void KSI_AggregationPdu_free(KSI_AggregationPdu *t)
int KSI_AggregationAuthRec_getChainIndex(const KSI_AggregationAuthRec *rec, KSI_LIST(KSI_Integer) **chainIndexesList)
int KSI_Header_setMessageId(KSI_Header *t, KSI_Integer *messageId)
int KSI_RFC3161_setTstInfoSuffix(KSI_RFC3161 *o, KSI_OctetString *tstInfoSuffix)
int KSI_CalendarAuthRec_getPublishedData(const KSI_CalendarAuthRec *rec, KSI_PublicationData **pubData)
struct KSI_CalendarHashChain_st KSI_CalendarHashChain
Definition: types.h:46
int KSI_Header_getMessageId(const KSI_Header *t, KSI_Integer **messageId)
int KSI_ExtendPdu_setRequest(KSI_ExtendPdu *t, KSI_ExtendReq *request)
int KSI_Config_setAggrAlgo(KSI_Config *t, KSI_Integer *aggrAlgo)
int KSI_ExtendResp_setConfig(KSI_ExtendResp *t, KSI_Config *config)
int KSI_PublicationsHeader_new(KSI_CTX *ctx, KSI_PublicationsHeader **t)
KSI_DEFINE_OBJECT_PARSE(KSI_ExtendPdu)
int KSI_MetaData_setClientId(KSI_MetaData *t, KSI_Utf8String *clientId)
int KSI_ExtendReq_setConfig(KSI_ExtendReq *t, KSI_Config *config)
int KSI_Config_setAggrPeriod(KSI_Config *t, KSI_Integer *aggrPeriod)
int KSI_ExtendPdu_getHeader(const KSI_ExtendPdu *t, KSI_Header **header)
struct KSI_PKISignedData_st KSI_PKISignedData
Definition: types.h:56
int KSI_RequestAck_setAggregationDelay(KSI_RequestAck *t, KSI_Integer *aggregationDelay)
void KSI_ExtendReq_free(KSI_ExtendReq *t)
int KSI_AggregationResp_fromTlv(KSI_TLV *tlv, KSI_AggregationResp **data)
int KSI_MetaDataElement_setSequenceNr(KSI_MetaDataElement *t, KSI_Integer *sequenceNr)
int KSI_ExtendResp_verifyWithRequest(const KSI_ExtendResp *resp, const KSI_ExtendReq *req)
int KSI_AggregationPdu_verifyHmac(const KSI_AggregationPdu *pdu, const char *pass)
struct KSI_Config_st KSI_Config
Definition: types.h:50
int KSI_AggregationPdu_setRequest(KSI_AggregationPdu *t, KSI_AggregationReq *request)
struct KSI_RequestAck_st KSI_RequestAck
Definition: types.h:52
int KSI_AggregationResp_getRequestId(const KSI_AggregationResp *t, KSI_Integer **requestId)
char * oid
Definition: types.h:150
struct KSI_OctetString_st KSI_OctetString
Definition: types_base.h:145
int KSI_RequestAck_setReceiptTime(KSI_RequestAck *t, KSI_Integer *receiptTime)
void KSI_AggregationAuthRec_free(KSI_AggregationAuthRec *aar)
int KSI_MetaDataElement_setClientId(KSI_MetaDataElement *t, KSI_Utf8String *clientId)
struct KSI_CalendarAuthRec_st KSI_CalendarAuthRec
Definition: types.h:135
int KSI_MetaDataElement_fromTlv(KSI_TLV *tlv, KSI_MetaDataElement **metaData)
void KSI_ExtendResp_free(KSI_ExtendResp *t)
int KSI_AggregationReq_getRequestHash(const KSI_AggregationReq *t, KSI_DataHash **requestHash)
int KSI_RequestAck_setRequestTime(KSI_RequestAck *t, KSI_Integer *requestTime)
int KSI_ErrorPdu_setErrorMessage(KSI_ErrorPdu *pdu, KSI_Utf8String *errorMsg)
int KSI_AggregationReq_getRequestLevel(const KSI_AggregationReq *t, KSI_Integer **requestLevel)
int KSI_ExtendReq_toTlv(KSI_CTX *ctx, const KSI_ExtendReq *data, unsigned tag, int isNonCritical, int isForward, KSI_TLV **tlv)
KSI_CTX * KSI_RequestAck_getCtx(KSI_RequestAck *t)
int KSI_CertificateRecord_getCert(const KSI_CertificateRecord *t, KSI_PKICertificate **cert)
int KSI_RequestAck_getAggregationDrift(const KSI_RequestAck *t, KSI_Integer **aggregationDrift)
int KSI_RFC3161_getTstInfoAlgo(const KSI_RFC3161 *o, KSI_Integer **tstInfoAlgo)
int KSI_ExtendPdu_getConfRequest(const KSI_ExtendPdu *t, KSI_Config **confRequest)
int KSI_ExtendReq_getConfig(const KSI_ExtendReq *t, KSI_Config **config)
void KSI_AggregationResp_free(KSI_AggregationResp *t)
Definition: types.h:148
int KSI_Config_setCalendarFirstTime(KSI_Config *t, KSI_Integer *calendarFirstTime)
int KSI_ExtendPdu_getRequest(const KSI_ExtendPdu *t, KSI_ExtendReq **request)
int KSI_MetaDataElement_getRequestTimeInMicros(KSI_MetaDataElement *t, KSI_Integer **reqTime)
int KSI_Config_setMaxLevel(KSI_Config *t, KSI_Integer *maxLevel)
int KSI_RequestAck_setAggregationDrift(KSI_RequestAck *t, KSI_Integer *aggregationDrift)
int KSI_CertificateRecord_setCertId(KSI_CertificateRecord *t, KSI_OctetString *certId)
struct KSI_Signature_st KSI_Signature
Definition: types.h:67
struct KSI_ExtendPdu_st KSI_ExtendPdu
Definition: types.h:47
int KSI_Config_new(KSI_CTX *ctx, KSI_Config **t)
int KSI_ExtendReq_fromTlv(KSI_TLV *tlv, KSI_ExtendReq **data)
int KSI_MetaData_setRequestTimeInMicros(KSI_MetaData *t, KSI_Integer *reqTime)
int KSI_ExtendResp_setRequestId(KSI_ExtendResp *t, KSI_Integer *requestId)
int KSI_AggregationResp_verifyWithRequest(const KSI_AggregationResp *resp, const KSI_AggregationReq *req)
int KSI_PKISignedData_setSigType(KSI_PKISignedData *t, KSI_Utf8String *sigType)
int KSI_AggregationPdu_setConfRequest(KSI_AggregationPdu *t, KSI_Config *confRequest)
int KSI_AggregationReq_setRequestId(KSI_AggregationReq *t, KSI_Integer *requestId)
Definition: policy.h:31
int KSI_RFC3161_setAggregationTime(KSI_RFC3161 *o, KSI_Integer *aggregationTime)
void KSI_ErrorPdu_free(KSI_ErrorPdu *pdu)
int KSI_ExtendResp_new(KSI_CTX *ctx, KSI_ExtendResp **t)
int KSI_AggregationReq_setRequestHash(KSI_AggregationReq *t, KSI_DataHash *requestHash)
int KSI_RequestAck_getAggregationPeriod(const KSI_RequestAck *t, KSI_Integer **aggregationPeriod)
int KSI_AggregationReq_setRequestLevel(KSI_AggregationReq *t, KSI_Integer *requestLevel)
int KSI_RFC3161_getSigAttrAlgo(const KSI_RFC3161 *o, KSI_Integer **sigAttrAlgo)
int KSI_AggregationResp_setAggregationAuthRec(KSI_AggregationResp *t, KSI_AggregationAuthRec *aggregationAuthRec)
int KSI_ExtendPdu_getHmac(const KSI_ExtendPdu *t, KSI_DataHash **hmac)
struct KSI_AsyncClient_st KSI_AsyncClient
Definition: types.h:124
int KSI_PKISignedData_getCertId(const KSI_PKISignedData *t, KSI_OctetString **certId)
int KSI_RFC3161_getSigAttrPrefix(const KSI_RFC3161 *o, KSI_OctetString **sigAttrPrefix)
int KSI_MetaDataElement_getMachineId(KSI_MetaDataElement *t, KSI_Utf8String **machineId)
int KSI_Header_getLoginId(const KSI_Header *t, KSI_Utf8String **loginId)
#define KSI_DEFINE_LIST(type)
Definition: list.h:146
#define KSI_DEFINE_WRITE_BYTES(typ)
Definition: types_base.h:89
int KSI_AggregationPdu_setResponse(KSI_AggregationPdu *t, KSI_AggregationResp *response)
int KSI_AggregationPdu_new(KSI_CTX *ctx, KSI_AggregationPdu **t)
struct KSI_Policy_st KSI_Policy
Definition: types.h:70
struct KSI_AggregationPdu_st KSI_AggregationPdu
Definition: types.h:48
char * val
Definition: types.h:152
int KSI_AggregationResp_toTlv(KSI_CTX *ctx, const KSI_AggregationResp *data, unsigned tag, int isNonCritical, int isForward, KSI_TLV **tlv)
int KSI_CertificateRecord_setCert(KSI_CertificateRecord *t, KSI_PKICertificate *cert)
int KSI_AggregationReq_getRequestId(const KSI_AggregationReq *t, KSI_Integer **requestId)
struct KSI_PublicationsHeader_st KSI_PublicationsHeader
Definition: types.h:57
int KSI_ExtendPdu_setConfResponse(KSI_ExtendPdu *t, KSI_Config *confResponse)
int KSI_RequestAck_getRequestTime(const KSI_RequestAck *t, KSI_Integer **requestTime)
int KSI_AggregationPdu_getError(const KSI_AggregationPdu *t, KSI_ErrorPdu **error)
int KSI_AggregationPdu_getAckResponse(const KSI_AggregationPdu *t, KSI_RequestAck **ackResponse)
struct KSI_CTX_st KSI_CTX
Definition: types_base.h:124
int KSI_PKISignedData_setCertId(KSI_PKISignedData *t, KSI_OctetString *certId)
int KSI_PublicationsHeader_setTimeCreated(KSI_PublicationsHeader *t, KSI_Integer *timeCreated_s)
int KSI_RFC3161_getAggregationTime(const KSI_RFC3161 *o, KSI_Integer **aggregationTime)
int KSI_RFC3161_getTstInfoPrefix(const KSI_RFC3161 *o, KSI_OctetString **tstInfoPrefix)
int KSI_AggregationPdu_setHeader(KSI_AggregationPdu *t, KSI_Header *header)
struct KSI_PKICertificate_st KSI_PKICertificate
Definition: types.h:93
int KSI_PKISignedData_setSignatureValue(KSI_PKISignedData *t, KSI_OctetString *signatureValue)
struct KSI_TLV_st KSI_TLV
Definition: types_base.h:129
int KSI_AggregationAuthRec_setSigAlgo(KSI_AggregationAuthRec *rec, KSI_Utf8String *signatureAlgo)
int KSI_Config_getParentUri(const KSI_Config *t, KSI_LIST(KSI_Utf8String) **parentUri)
int KSI_AggregationResp_getCalendarChain(const KSI_AggregationResp *t, KSI_CalendarHashChain **calendarChain)
int KSI_ExtendReq_setAggregationTime(KSI_ExtendReq *t, KSI_Integer *aggregationTime)
struct KSI_AggregationAuthRec_st KSI_AggregationAuthRec
Definition: types.h:140
int KSI_ExtendReq_new(KSI_CTX *ctx, KSI_ExtendReq **t)
int KSI_AggregationAuthRec_setInputHash(KSI_AggregationAuthRec *rec, KSI_DataHash *inputHash)
int KSI_AggregationPdu_getHeader(const KSI_AggregationPdu *t, KSI_Header **header)
struct KSI_AggregationHashChain_st KSI_AggregationHashChain
Definition: types.h:130
int KSI_RequestAck_getReceiptTime(const KSI_RequestAck *t, KSI_Integer **receiptTime)
int KSI_Config_setCalendarLastTime(KSI_Config *t, KSI_Integer *calendarLastTime)
int KSI_MetaData_setMachineId(KSI_MetaData *t, KSI_Utf8String *machineId)
int KSI_MetaDataElement_setMachineId(KSI_MetaDataElement *t, KSI_Utf8String *machineId)
void KSI_RequestAck_free(KSI_RequestAck *t)
Definition: tlv_template.h:70
struct KSI_PKITruststore_st KSI_PKITruststore
Definition: types.h:103
int KSI_AggregationResp_setCalendarAuthRec(KSI_AggregationResp *t, KSI_CalendarAuthRec *calendarAuthRec)
int KSI_AggregationResp_getRequestAck(const KSI_AggregationResp *t, KSI_RequestAck **requestAck)
KSI_Utf8String KSI_Utf8StringNZ
Definition: types_base.h:155
int KSI_RFC3161_setTstInfoAlgo(KSI_RFC3161 *o, KSI_Integer *tstInfoAlgo)
int KSI_RequestAck_getAggregationDelay(const KSI_RequestAck *t, KSI_Integer **aggregationDelay)
int KSI_ExtendResp_fromTlv(KSI_TLV *tlv, KSI_ExtendResp **data)
struct KSI_RFC3161_st KSI_RFC3161
Definition: types.h:145
int KSI_AggregationReq_toTlv(KSI_CTX *ctx, const KSI_AggregationReq *data, unsigned tag, int isNonCritical, int isForward, KSI_TLV **tlv)
int KSI_MetaDataElement_setRequestTimeInMicros(KSI_MetaDataElement *t, KSI_Integer *reqTime)
int KSI_ExtendPdu_getConfResponse(const KSI_ExtendPdu *t, KSI_Config **confResponse)
int KSI_ExtendPdu_setResponse(KSI_ExtendPdu *t, KSI_ExtendResp *response)
int KSI_Header_getInstanceId(const KSI_Header *t, KSI_Integer **instanceId)
int KSI_RFC3161_setSigAttrAlgo(KSI_RFC3161 *o, KSI_Integer *sigAttrAlgo)
struct KSI_Utf8String_st KSI_Utf8String
Definition: types_base.h:150
int KSI_AggregationResp_new(KSI_CTX *ctx, KSI_AggregationResp **t)
int KSI_AggregationPdu_setError(KSI_AggregationPdu *t, KSI_ErrorPdu *error)
int KSI_RFC3161_setSigAttrSuffix(KSI_RFC3161 *o, KSI_OctetString *sigAttrSuffix)
int KSI_AggregationPdu_getAckRequest(const KSI_AggregationPdu *t, KSI_RequestAck **ackRequest)
int KSI_PKISignedData_getSigType(const KSI_PKISignedData *t, KSI_Utf8String **sigType)
Definition: types.h:367
void KSI_MetaDataElement_free(KSI_MetaDataElement *t)
int KSI_ExtendPdu_setHmac(KSI_ExtendPdu *t, KSI_DataHash *hamc)
int KSI_CalendarAuthRec_setSignatureAlgo(KSI_CalendarAuthRec *rec, KSI_Utf8String *signatureAlgo)
int KSI_AggregationResp_setAggregationChainList(KSI_AggregationResp *t, KSI_LIST(KSI_AggregationHashChain) *aggregationChainList)
int KSI_AggregationResp_setBaseTlv(KSI_AggregationResp *o, KSI_TLV *baseTlv)
int KSI_AggregationAuthRec_setAggregationTime(KSI_AggregationAuthRec *rec, KSI_Integer *aggregationTime)
int KSI_PublicationsHeader_getTimeCreated(const KSI_PublicationsHeader *t, KSI_Integer **timeCreated_s)
int KSI_ExtendPdu_setHeader(KSI_ExtendPdu *t, KSI_Header *header)
int KSI_ExtendReq_enclose(KSI_ExtendReq *req, const char *loginId, const char *key, KSI_ExtendPdu **pdu)
struct KSI_NetworkClient_st KSI_NetworkClient
Definition: types.h:121
KSI_DEFINE_OBJECT_SERIALIZE(KSI_ExtendPdu)
struct KSI_HashChainLinkIdentity_st KSI_HashChainLinkIdentity
Definition: types.h:43
int KSI_RFC3161_setSigAttrPrefix(KSI_RFC3161 *o, KSI_OctetString *sigAttrPrefix)
int KSI_CertificateRecord_getCertId(const KSI_CertificateRecord *t, KSI_OctetString **certId)
int KSI_ExtendResp_getConfig(const KSI_ExtendResp *t, KSI_Config **config)
int KSI_ExtendReq_getPublicationTime(const KSI_ExtendReq *t, KSI_Integer **publicationTime)
struct KSI_MetaData_st KSI_MetaData
Definition: types.h:42
int KSI_MetaDataElement_toTlv(KSI_CTX *ctx, const KSI_MetaDataElement *data, unsigned tag, int isNonCritical, int isForward, KSI_TLV **tlv)
int KSI_AggregationReq_new(KSI_CTX *ctx, KSI_AggregationReq **t)
#define KSI_LIST(type)
Definition: list.h:43
int KSI_ExtendPdu_verifyHmac(const KSI_ExtendPdu *pdu, const char *pass)
int KSI_AggregationPdu_getHmac(const KSI_AggregationPdu *t, KSI_DataHash **hmac)
struct KSI_ErrorPdu_st KSI_ErrorPdu
Definition: types.h:61
int KSI_RFC3161_setChainIndex(KSI_RFC3161 *o, KSI_IntegerList *chainIndex)
Definition: policy.h:155
void KSI_CertificateRecord_free(KSI_CertificateRecord *t)
int KSI_RFC3161_getSigAttrSuffix(const KSI_RFC3161 *o, KSI_OctetString **sigAttrSuffix)
int KSI_CalendarAuthRec_setPublishedData(KSI_CalendarAuthRec *rec, KSI_PublicationData *pubData)
int KSI_AggregationPdu_getConfResponse(const KSI_AggregationPdu *t, KSI_Config **confResponse)
int KSI_AggregationResp_setConfig(KSI_AggregationResp *t, KSI_Config *config)
int KSI_AggregationAuthRec_getSigAlgo(const KSI_AggregationAuthRec *rec, KSI_Utf8String **signatureAlgo)
int KSI_Config_getAggrAlgo(const KSI_Config *t, KSI_Integer **aggrAlgo)
int KSI_AggregationResp_getErrorMsg(const KSI_AggregationResp *t, KSI_Utf8String **errorMsg)
int KSI_ExtendResp_getStatus(const KSI_ExtendResp *t, KSI_Integer **status)
int KSI_ExtendResp_getCalendarHashChain(const KSI_ExtendResp *t, KSI_CalendarHashChain **calendarHashChain)
int KSI_Header_setLoginId(KSI_Header *t, KSI_Utf8String *loginId)
int KSI_CertificateRecord_new(KSI_CTX *ctx, KSI_CertificateRecord **t)
int KSI_ExtendReq_getRequestId(const KSI_ExtendReq *t, KSI_Integer **requestId)
KSI_DEFINE_GET_CTX(KSI_Header)
int KSI_AggregationResp_getStatus(const KSI_AggregationResp *t, KSI_Integer **status)