103#define BSL_UIO_FILE_READ 0x02
104#define BSL_UIO_FILE_WRITE 0x04
105#define BSL_UIO_FILE_APPEND 0x08
106#define BSL_UIO_FILE_TEXT 0x10
108#define BSL_UIO_FLAGS_READ 0x01
109#define BSL_UIO_FLAGS_WRITE 0x02
110#define BSL_UIO_FLAGS_IO_SPECIAL 0x04
111#define BSL_UIO_FLAGS_RWS (BSL_UIO_FLAGS_READ | BSL_UIO_FLAGS_WRITE | BSL_UIO_FLAGS_IO_SPECIAL)
112#define BSL_UIO_FLAGS_SHOULD_RETRY 0x08
114#define BSL_UIO_FLAGS_MEM_READ_ONLY 0x10
116#define BSL_UIO_FLAGS_BASE64_NO_NEWLINE 0x20
117#define BSL_UIO_FLAGS_BASE64_PEM 0x40
int32_t(* BslUioDestroyCb)(BSL_UIO *uio)
Definition bsl_uio.h:129
int32_t(* BslUioReadCb)(BSL_UIO *uio, void *buf, uint32_t len, uint32_t *readLen)
Definition bsl_uio.h:126
BSL_UIO_METHOD_TYPE
Definition bsl_uio.h:135
@ BSL_UIO_CREATE_CB
Definition bsl_uio.h:136
@ BSL_UIO_READ_CB
Definition bsl_uio.h:139
@ BSL_UIO_PUTS_CB
Definition bsl_uio.h:141
@ BSL_UIO_DESTROY_CB
Definition bsl_uio.h:137
@ BSL_UIO_GETS_CB
Definition bsl_uio.h:142
@ BSL_UIO_CTRL_CB
Definition bsl_uio.h:140
@ BSL_UIO_WRITE_CB
Definition bsl_uio.h:138
int32_t(* BslUioCtrlCb)(BSL_UIO *uio, int32_t cmd, int32_t larg, void *parg)
Definition bsl_uio.h:127
int32_t(* BslUioCreateCb)(BSL_UIO *uio)
Definition bsl_uio.h:128
int32_t(* BslUioPutsCb)(BSL_UIO *uio, const char *buf, uint32_t *writeLen)
Definition bsl_uio.h:130
int32_t(* BslUioGetsCb)(BSL_UIO *uio, char *buf, uint32_t *readLen)
Definition bsl_uio.h:131
int32_t(* BslUioWriteCb)(BSL_UIO *uio, const void *buf, uint32_t len, uint32_t *writeLen)
Definition bsl_uio.h:125
struct BSL_UIO_MethodStruct BSL_UIO_Method
Definition bsl_uio.h:133
struct UIO_ControlBlock BSL_UIO
UIO module control structure
Definition bsl_uio.h:30
int32_t BSL_UIO_SetFlags(BSL_UIO *uio, uint32_t flags)
Set the UIO object flag.
int32_t BSL_UIO_Write(BSL_UIO *uio, const void *data, uint32_t len, uint32_t *writeLen)
Write data to the UIO object
int32_t BSL_UIO_SetUserData(BSL_UIO *uio, void *data)
Set the user data in the UIO object
void BSL_UIO_FreeMethod(BSL_UIO_Method *meth)
free uio Method
const BSL_UIO_Method * BSL_UIO_GetMethod(const BSL_UIO *uio)
Method for obtaining the UIO
int32_t BSL_UIO_Puts(BSL_UIO *uio, const char *buf, uint32_t *writeLen)
Write a string to the UIO object.
BSL_UIO_Method * BSL_UIO_NewMethod(void)
Creating uio method structure
void BSL_UIO_SetIsUnderlyingClosedByUio(BSL_UIO *uio, bool close)
Set whether resources associated with the UIO are closed by the UIO.
BSL_UIO_CtrlParameter
BSL_UIO_CtrlParameter controls the I/O callback function. Hitls notifies the user of the function to ...
Definition bsl_uio.h:77
@ BSL_UIO_SCTP_ACTIVE_AUTH_SHARED_KEY
Definition bsl_uio.h:95
@ BSL_UIO_GET_READ_NUM
Definition bsl_uio.h:82
@ BSL_UIO_SCTP_SND_BUFF_IS_EMPTY
Definition bsl_uio.h:97
@ BSL_UIO_SCTP_GET_SEND_STREAM_ID
Definition bsl_uio.h:98
@ BSL_UIO_SCTP_SET_APP_STREAM_ID
Definition bsl_uio.h:99
@ BSL_UIO_FLUSH
Definition bsl_uio.h:89
@ BSL_UIO_SCTP_CHECK_PEER_AUTH
Definition bsl_uio.h:93
@ BSL_UIO_GET_WRITE_NUM
Definition bsl_uio.h:81
@ BSL_UIO_GET_FD
Definition bsl_uio.h:88
@ BSL_UIO_SET_PEER_IP_ADDR
Definition bsl_uio.h:85
@ BSL_UIO_RESET
Definition bsl_uio.h:90
@ BSL_UIO_SCTP_DEL_PRE_AUTH_SHARED_KEY
Definition bsl_uio.h:96
@ BSL_UIO_GET_INIT
Definition bsl_uio.h:80
@ BSL_UIO_GET_PEER_IP_ADDR
Definition bsl_uio.h:86
@ BSL_UIO_SCTP_MARK_APP_MESSAGE
Definition bsl_uio.h:100
@ BSL_UIO_SET_FD
Definition bsl_uio.h:87
@ BSL_UIO_SCTP_ADD_AUTH_SHARED_KEY
Definition bsl_uio.h:94
void BSL_UIO_SetFd(BSL_UIO *uio, int fd)
Set the fd of the UIO object
int32_t BSL_UIO_SetUserDataFreeFunc(BSL_UIO *uio, BSL_UIO_USERDATA_FREE_FUNC userDataFreeFunc)
Release the user data set in the UIO object.
int32_t BSL_UIO_Read(BSL_UIO *uio, void *data, uint32_t len, uint32_t *readLen)
Read data from the UIO object.
int32_t BSL_UIO_SetMethodType(BSL_UIO_Method *meth, int32_t type)
set uio method type
int32_t BSL_UIO_GetTransportType(const BSL_UIO *uio)
Obtain the UIO transmission protocol type
int32_t BSL_UIO_SetMethod(BSL_UIO_Method *meth, int32_t type, void *func)
set uio method callback
BSL_UIO * BSL_UIO_New(const BSL_UIO_Method *method)
Create a UIO object
void BSL_UIO_Free(BSL_UIO *uio)
Release the UIO object.
int32_t BSL_UIO_ClearFlags(BSL_UIO *uio, uint32_t flags)
Clear the UIO object flag
int32_t BSL_UIO_UpRef(BSL_UIO *uio)
Set the value of uio reference counting to 1
int32_t BSL_UIO_Ctrl(BSL_UIO *uio, int32_t cmd, int32_t larg, void *parg)
Process specific UIO implementations by cmd
BSL_UIO * BSL_UIO_Next(BSL_UIO *uio)
Obtain the next UIO object in the chain.
int32_t BSL_UIO_Append(BSL_UIO *uio, BSL_UIO *tail)
Add a UIO object to the tail of the chain.
void * BSL_UIO_GetCtx(const BSL_UIO *uio)
Obtain the implementation-related context.
void BSL_UIO_FreeChain(BSL_UIO *uio)
Release UIO object b and its subsequent chains.
void BSL_UIO_SetCtx(BSL_UIO *uio, void *ctx)
Set the implementation-related context.
BSL_UIO_TransportType
Transmission protocol enumeration
Definition bsl_uio.h:52
@ BSL_UIO_TCP
Definition bsl_uio.h:53
@ BSL_UIO_EXTEND
Definition bsl_uio.h:58
@ BSL_UIO_UNKNOWN
Definition bsl_uio.h:56
@ BSL_UIO_BUFFER
Definition bsl_uio.h:55
@ BSL_UIO_SCTP
Definition bsl_uio.h:54
uint32_t BSL_UIO_TestFlags(const BSL_UIO *uio, uint32_t flags, uint32_t *out)
Check the UIO object flag
void(* BSL_UIO_USERDATA_FREE_FUNC)(void *)
userData release function
Definition bsl_uio.h:46
int32_t BSL_UIO_Gets(BSL_UIO *uio, char *buf, uint32_t *readLen)
Reads a string from the UIO object
void BSL_UIO_SetInit(BSL_UIO *uio, bool init)
Set the UIO init.
const BSL_UIO_Method * BSL_UIO_SctpMethod(void)
obtain the default SCTP UIO
BSL_UIO * BSL_UIO_PopCurrent(BSL_UIO *uio)
Pop UIO object from the chain.
void * BSL_UIO_GetUserData(const BSL_UIO *uio)
Obtain the user data in the UIO object.
const BSL_UIO_Method * BSL_UIO_TcpMethod(void)
obtain the default TCP UIO method
const BSL_UIO_Method * BSL_UIO_BufferMethod(void)
obtain the default buffer UIO
bool BSL_UIO_GetIsUnderlyingClosedByUio(const BSL_UIO *uio)
Obtains whether resources associated with the UIO are closed by the UIO.
size_t max
Definition bsl_uio.h:39
char * data
Definition bsl_uio.h:38
size_t length
Definition bsl_uio.h:37
BSL_UIO_BufMem structure
Definition bsl_uio.h:36
uint16_t shareKeyId
Definition bsl_uio.h:67
const uint8_t * authKey
Definition bsl_uio.h:69
uint16_t authKeySize
Definition bsl_uio.h:68
Sctp auth key, hitls Use the BSL_UIO_Method.ctrl method to transfer the BSL_UIO_SCTP_ADD_AUTH_SHARED_...
Definition bsl_uio.h:66
uint8_t * addr
Definition bsl_uio.h:121
uint32_t size
Definition bsl_uio.h:122