openHiTLS API openHiTLS 0.1.0-Alpha1
结构体 | 宏定义 | 类型定义 | 枚举 | 函数
bsl_uio.h 文件参考
bsl_uio.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

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. 更多...
 
struct  BSL_UIO_CtrlGetPeerIpAddrParam
 

宏定义

#define BSL_UIO_FILE_READ   0x02
 
#define BSL_UIO_FILE_WRITE   0x04
 
#define BSL_UIO_FILE_APPEND   0x08
 
#define BSL_UIO_FILE_TEXT   0x10
 
#define BSL_UIO_FLAGS_READ   0x01
 
#define BSL_UIO_FLAGS_WRITE   0x02
 
#define BSL_UIO_FLAGS_IO_SPECIAL   0x04
 
#define BSL_UIO_FLAGS_RWS   (BSL_UIO_FLAGS_READ | BSL_UIO_FLAGS_WRITE | BSL_UIO_FLAGS_IO_SPECIAL)
 
#define BSL_UIO_FLAGS_SHOULD_RETRY   0x08
 
#define BSL_UIO_FLAGS_MEM_READ_ONLY   0x10 /* This flag can be set only by uio_mem */
 
#define BSL_UIO_FLAGS_BASE64_NO_NEWLINE   0x20
 
#define BSL_UIO_FLAGS_BASE64_PEM   0x40
 

类型定义

typedef struct UIO_ControlBlock BSL_UIO
 UIO module control structure
 
typedef void(* BSL_UIO_USERDATA_FREE_FUNC) (void *)
 userData release function
 
typedef int32_t(* BslUioWriteCb) (BSL_UIO *uio, const void *buf, uint32_t len, uint32_t *writeLen)
 
typedef int32_t(* BslUioReadCb) (BSL_UIO *uio, void *buf, uint32_t len, uint32_t *readLen)
 
typedef int32_t(* BslUioCtrlCb) (BSL_UIO *uio, int32_t cmd, int32_t larg, void *parg)
 
typedef int32_t(* BslUioCreateCb) (BSL_UIO *uio)
 
typedef int32_t(* BslUioDestroyCb) (BSL_UIO *uio)
 
typedef int32_t(* BslUioPutsCb) (BSL_UIO *uio, const char *buf, uint32_t *writeLen)
 
typedef int32_t(* BslUioGetsCb) (BSL_UIO *uio, char *buf, uint32_t *readLen)
 
typedef struct BSL_UIO_MethodStruct BSL_UIO_Method
 

枚举

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 更多...
 
enum  BSL_UIO_METHOD_TYPE {
  BSL_UIO_CREATE_CB , BSL_UIO_DESTROY_CB , BSL_UIO_WRITE_CB , BSL_UIO_READ_CB ,
  BSL_UIO_CTRL_CB , BSL_UIO_PUTS_CB , BSL_UIO_GETS_CB
}
 

函数

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.