Guardtime KSI c SDK
net_async.h
Go to the documentation of this file.
1 /*
2  * Copyright 2013-2018 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_NET_ASYNC_H_
21 #define KSI_NET_ASYNC_H_
22 
23 #include "types.h"
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
50 
58 
69 
82 
97 
99 
107  int KSI_AsyncHandle_setRequestCtx(KSI_AsyncHandle *o, void *reqCtx, void (*reqCtx_free)(void*));
108 
115  int KSI_AsyncHandle_getRequestCtx(const KSI_AsyncHandle *o, const void **reqCtx);
116 
125  int KSI_AsyncHandle_getState(const KSI_AsyncHandle *h, int *state);
126 
134  int KSI_AsyncHandle_getError(const KSI_AsyncHandle *h, int *error);
135 
143  int KSI_AsyncHandle_getExtError(const KSI_AsyncHandle *h, long *ext);
144 
154 
164 
172 
180 
190 
199 
211 
221  int KSI_AsyncHandle_getConfig(const KSI_AsyncHandle *h, KSI_Config **config);
222 
231 
239 
240 
246 
256 
266 
285 
301  int KSI_AsyncService_run(KSI_AsyncService *service, KSI_AsyncHandle **handle, size_t *waiting);
302 
306  typedef enum KSI_AsyncHandleState_en {
309 
314 
336 
343  int KSI_AsyncService_getPendingCount(KSI_AsyncService *s, size_t *count);
344 
353 
359  typedef enum KSI_AsyncOption_en {
360 
372 
384 
397 
405 
414 
426 
436 
438  } KSI_AsyncOption;
439 
440 
451  int KSI_AsyncService_setOption(KSI_AsyncService *s, const int option, void *value);
452 
462  int KSI_AsyncService_getOption(const KSI_AsyncService *s, const int option, void *value);
463 
478  int KSI_AsyncService_setEndpoint(KSI_AsyncService *service, const char *uri, const char *loginId, const char *key);
479 
494  int KSI_AsyncService_addEndpoint(KSI_AsyncService *service, const char *uri, const char *loginId, const char *key);
495 
500 #ifdef __cplusplus
501 }
502 #endif
503 
504 #endif /* KSI_NET_ASYNC_H_ */
int KSI_AsyncHandle_getExtendReq(const KSI_AsyncHandle *h, KSI_ExtendReq **req)
enum KSI_AsyncHandleState_en KSI_AsyncHandleState
Definition: net_async.h:435
#define KSI_uint64_t
Definition: types_base.h:105
int KSI_AsyncHandle_getAggregationReq(const KSI_AsyncHandle *h, KSI_AggregationReq **req)
Definition: net_async.h:371
int KSI_AsyncService_addRequest(KSI_AsyncService *service, KSI_AsyncHandle *handle)
int KSI_AbstractAsyncHandle_new(KSI_CTX *ctx, KSI_AsyncHandle **o)
struct KSI_AsyncHandle_st KSI_AsyncHandle
Definition: types.h:126
int KSI_AsyncAggregationHandle_new(KSI_CTX *ctx, KSI_AggregationReq *req, KSI_AsyncHandle **o)
Definition: net_async.h:313
Definition: net_async.h:425
KSI_AsyncOption_en
Definition: net_async.h:359
Definition: net_async.h:311
int KSI_AsyncHandle_getConfig(const KSI_AsyncHandle *h, KSI_Config **config)
Definition: net_async.h:327
int KSI_AsyncService_getPendingCount(KSI_AsyncService *s, size_t *count)
int KSI_AsyncExtendingHandle_new(KSI_CTX *ctx, const KSI_Signature *sig, const KSI_PublicationRecord *pubRec, KSI_AsyncHandle **o)
Definition: net_async.h:396
int KSI_AsyncHandle_getRequestCtx(const KSI_AsyncHandle *o, const void **reqCtx)
int KSI_AsyncService_addEndpoint(KSI_AsyncService *service, const char *uri, const char *loginId, const char *key)
int KSI_AsyncHandle_getSignature(const KSI_AsyncHandle *h, KSI_Signature **signature)
Definition: net_async.h:308
struct KSI_ExtendReq_st KSI_ExtendReq
Definition: types.h:54
int KSI_AsyncExtendHandle_new(KSI_CTX *ctx, KSI_ExtendReq *req, KSI_AsyncHandle **o)
struct KSI_AsyncService_st KSI_AsyncService
Definition: types.h:124
struct KSI_PublicationRecord_st KSI_PublicationRecord
Definition: types.h:60
#define KSI_DEFINE_REF(typ)
Definition: types_base.h:56
struct KSI_ExtendResp_st KSI_ExtendResp
Definition: types.h:55
struct KSI_AggregationReq_st KSI_AggregationReq
Definition: types.h:51
struct KSI_AggregationResp_st KSI_AggregationResp
Definition: types.h:53
Definition: net_async.h:404
void KSI_AsyncClient_free(KSI_AsyncClient *c)
Definition: net_async.h:383
void KSI_AsyncService_free(KSI_AsyncService *service)
struct KSI_Config_st KSI_Config
Definition: types.h:50
int KSI_AsyncHandle_getExtendResp(const KSI_AsyncHandle *h, KSI_ExtendResp **resp)
int KSI_AsyncHandle_getRequestId(const KSI_AsyncHandle *h, KSI_uint64_t *id)
KSI_AsyncHandleState_en
Definition: net_async.h:306
struct KSI_Signature_st KSI_Signature
Definition: types.h:67
int KSI_AsyncService_setEndpoint(KSI_AsyncService *service, const char *uri, const char *loginId, const char *key)
int KSI_AsyncService_setOption(KSI_AsyncService *s, const int option, void *value)
Definition: net_async.h:413
Definition: net_async.h:321
int KSI_AsyncHandle_getError(const KSI_AsyncHandle *h, int *error)
struct KSI_AsyncClient_st KSI_AsyncClient
Definition: types.h:125
int KSI_SigningAsyncService_new(KSI_CTX *ctx, KSI_AsyncService **service)
int KSI_AsyncHandle_getErrorMessage(const KSI_AsyncHandle *h, KSI_Utf8String **msg)
enum KSI_AsyncOption_en KSI_AsyncOption
int KSI_AsyncHandle_getExtError(const KSI_AsyncHandle *h, long *ext)
Definition: net_async.h:437
struct KSI_CTX_st KSI_CTX
Definition: types_base.h:124
int KSI_AsyncService_run(KSI_AsyncService *service, KSI_AsyncHandle **handle, size_t *waiting)
int KSI_AsyncHandle_getState(const KSI_AsyncHandle *h, int *state)
int KSI_AsyncService_getReceivedCount(KSI_AsyncService *s, size_t *count)
int KSI_AsyncHandle_getAggregationResp(const KSI_AsyncHandle *h, KSI_AggregationResp **resp)
int KSI_AbstractAsyncClient_new(KSI_CTX *ctx, KSI_AsyncClient **c)
struct KSI_Utf8String_st KSI_Utf8String
Definition: types_base.h:150
Definition: net_async.h:334
int KSI_AsyncHandle_setRequestCtx(KSI_AsyncHandle *o, void *reqCtx, void(*reqCtx_free)(void *))
void KSI_AsyncHandle_free(KSI_AsyncHandle *o)
int KSI_AsyncService_getOption(const KSI_AsyncService *s, const int option, void *value)
int KSI_ExtendingAsyncService_new(KSI_CTX *ctx, KSI_AsyncService **service)