openHiTLS API openHiTLS 0.1.0-Alpha1
bsl_user_data.h
浏览该文件的文档.
1/*---------------------------------------------------------------------------------------------
2 * This file is part of the openHiTLS project.
3 * Copyright © 2023 Huawei Technologies Co.,Ltd. All rights reserved.
4 * Licensed under the openHiTLS Software license agreement 1.0. See LICENSE in the project root
5 * for license information.
6 *---------------------------------------------------------------------------------------------
7 */
8
15#ifndef BSL_USER_DATA_H
16#define BSL_USER_DATA_H
17
18#include <stdint.h>
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
29#define BSL_USER_DATA_EX_INDEX_SSL 0
30#define BSL_USER_DATA_EX_INDEX_X509_STORE_CTX 1
31#define BSL_USER_DATA_EX_INDEX_SSL_CTX 2
32#define BSL_USER_DATA_EX_INDEX_X509_STORE 3
33#define BSL_USER_DATA_EX_INDEX_UIO 4
34
35#define BSL_MAX_EX_TYPE 5
36#define BSL_MAX_EX_DATA 20
37
38typedef struct {
39 void *sk[BSL_MAX_EX_DATA];
41
42typedef void BSL_USER_ExDataNew(void *parent, void *ptr, BSL_USER_ExData *ad, int idx, long argl, void *argp);
43typedef void BSL_USER_ExDataFree(void *parent, void *ptr, BSL_USER_ExData *ad, int idx, long argl, void *argp);
44typedef int BSL_USER_ExDataDup(BSL_USER_ExData *to, const BSL_USER_ExData *from, void **fromD, int idx, long argl,
45 void *argp);
46
47int BSL_USER_SetExData(BSL_USER_ExData *ad, int32_t idx, void *val);
48
49void *BSL_USER_GetExData(const BSL_USER_ExData *ad, int32_t idx);
50
51int BSL_USER_GetExDataNewIndex(int32_t index, int64_t argl, const void *argp, void *newFunc, void *dupFunc,
52 void *freeFunc);
53
54void BSL_USER_FreeExDataIndex(int32_t index, void *obj, BSL_USER_ExData *ad);
55
56#ifdef __cplusplus
57}
58#endif
59
60#endif // BSL_USER_DATA_H
void * BSL_USER_GetExData(const BSL_USER_ExData *ad, int32_t idx)
void BSL_USER_FreeExDataIndex(int32_t index, void *obj, BSL_USER_ExData *ad)
int BSL_USER_GetExDataNewIndex(int32_t index, int64_t argl, const void *argp, void *newFunc, void *dupFunc, void *freeFunc)
void BSL_USER_ExDataFree(void *parent, void *ptr, BSL_USER_ExData *ad, int idx, long argl, void *argp)
Definition bsl_user_data.h:43
#define BSL_MAX_EX_DATA
Definition bsl_user_data.h:36
void BSL_USER_ExDataNew(void *parent, void *ptr, BSL_USER_ExData *ad, int idx, long argl, void *argp)
Definition bsl_user_data.h:42
int BSL_USER_ExDataDup(BSL_USER_ExData *to, const BSL_USER_ExData *from, void **fromD, int idx, long argl, void *argp)
Definition bsl_user_data.h:44
int BSL_USER_SetExData(BSL_USER_ExData *ad, int32_t idx, void *val)
Definition bsl_user_data.h:38