openHiTLS API openHiTLS 0.1.0-Alpha1
结构体 | 类型定义 | 枚举 | 函数
Bsl_uio

uio module 更多...

Bsl_uio 的协作图:

结构体

struct  BSL_UIO_BufMem
 BSL_UIO_BufMem structure 更多...
 
struct  BSL_UIO_SctpAuthKey
 Sctp auth key, hitls Use the BSL_UIO_Method.ctrl method to transfer the BSL_UIO_SCTP_ADD_AUTH_SHARED_KEY instruction to notify the user that the auth key needs to be set. 更多...
 

类型定义

typedef struct UIO_ControlBlock BSL_UIO
 UIO module control structure
 
typedef void(* BSL_UIO_USERDATA_FREE_FUNC) (void *)
 userData release function
 

枚举

enum  BSL_UIO_TransportType {
  BSL_UIO_TCP , BSL_UIO_SCTP , BSL_UIO_BUFFER , BSL_UIO_UNKNOWN ,
  BSL_UIO_EXTEND = 10000
}
 Transmission protocol enumeration 更多...
 
enum  BSL_UIO_CtrlParameter {
  BSL_UIO_GET_INIT = 0x0 , BSL_UIO_GET_WRITE_NUM , BSL_UIO_GET_READ_NUM , BSL_UIO_SET_PEER_IP_ADDR = 0x100 ,
  BSL_UIO_GET_PEER_IP_ADDR , BSL_UIO_SET_FD , BSL_UIO_GET_FD , BSL_UIO_FLUSH ,
  BSL_UIO_RESET , BSL_UIO_SCTP_CHECK_PEER_AUTH = 0x300 , BSL_UIO_SCTP_ADD_AUTH_SHARED_KEY , BSL_UIO_SCTP_ACTIVE_AUTH_SHARED_KEY ,
  BSL_UIO_SCTP_DEL_PRE_AUTH_SHARED_KEY , BSL_UIO_SCTP_SND_BUFF_IS_EMPTY , BSL_UIO_SCTP_GET_SEND_STREAM_ID , BSL_UIO_SCTP_SET_APP_STREAM_ID ,
  BSL_UIO_SCTP_MARK_APP_MESSAGE
}
 BSL_UIO_CtrlParameter controls the I/O callback function. Hitls notifies the user of the function to be implemented 更多...
 

函数

BSL_UIO_MethodBSL_UIO_NewMethod (void)
 Creating uio method structure
 
int32_t BSL_UIO_SetMethodType (BSL_UIO_Method *meth, int32_t type)
 set uio method type
 
int32_t BSL_UIO_SetMethod (BSL_UIO_Method *meth, int32_t type, void *func)
 set uio method callback
 
void BSL_UIO_FreeMethod (BSL_UIO_Method *meth)
 free uio Method
 
const BSL_UIO_MethodBSL_UIO_TcpMethod (void)
 obtain the default TCP UIO method
 
const BSL_UIO_MethodBSL_UIO_SctpMethod (void)
 obtain the default SCTP UIO
 
const BSL_UIO_MethodBSL_UIO_BufferMethod (void)
 obtain the default buffer UIO
 
BSL_UIOBSL_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_Write (BSL_UIO *uio, const void *data, uint32_t len, uint32_t *writeLen)
 Write data to 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_Ctrl (BSL_UIO *uio, int32_t cmd, int32_t larg, void *parg)
 Process specific UIO implementations by cmd
 
int32_t BSL_UIO_Puts (BSL_UIO *uio, const char *buf, uint32_t *writeLen)
 Write a string to the UIO object.
 
int32_t BSL_UIO_Gets (BSL_UIO *uio, char *buf, uint32_t *readLen)
 Reads a string from the UIO object
 
int32_t BSL_UIO_GetTransportType (const BSL_UIO *uio)
 Obtain the UIO transmission protocol type
 
int32_t BSL_UIO_SetUserData (BSL_UIO *uio, void *data)
 Set the user data in 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.
 
void * BSL_UIO_GetUserData (const BSL_UIO *uio)
 Obtain the user data in the UIO object.
 
bool BSL_UIO_GetIsUnderlyingClosedByUio (const BSL_UIO *uio)
 Obtains whether resources associated with the UIO are closed by the UIO.
 
void BSL_UIO_SetIsUnderlyingClosedByUio (BSL_UIO *uio, bool close)
 Set whether resources associated with the UIO are closed by the UIO.
 
const BSL_UIO_MethodBSL_UIO_GetMethod (const BSL_UIO *uio)
 Method for obtaining the UIO
 
void * BSL_UIO_GetCtx (const BSL_UIO *uio)
 Obtain the implementation-related context.
 
void BSL_UIO_SetCtx (BSL_UIO *uio, void *ctx)
 Set the implementation-related context.
 
void BSL_UIO_SetFd (BSL_UIO *uio, int fd)
 Set the fd of the UIO object
 
int32_t BSL_UIO_SetFlags (BSL_UIO *uio, uint32_t flags)
 Set the UIO object flag.
 
int32_t BSL_UIO_ClearFlags (BSL_UIO *uio, uint32_t flags)
 Clear the UIO object flag
 
uint32_t BSL_UIO_TestFlags (const BSL_UIO *uio, uint32_t flags, uint32_t *out)
 Check 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_Append (BSL_UIO *uio, BSL_UIO *tail)
 Add a UIO object to the tail of the chain.
 
BSL_UIOBSL_UIO_PopCurrent (BSL_UIO *uio)
 Pop UIO object from the chain.
 
void BSL_UIO_FreeChain (BSL_UIO *uio)
 Release UIO object b and its subsequent chains.
 
BSL_UIOBSL_UIO_Next (BSL_UIO *uio)
 Obtain the next UIO object in the chain.
 
void BSL_UIO_SetInit (BSL_UIO *uio, bool init)
 Set the UIO init.
 

详细描述

uio module