My Project
|
Go to the source code of this file.
Functions | |
int | EmbedReceive (WOLFSSL *ssl, char *buf, int sz, void *ctx) |
This function is the receive embedded callback. More... | |
int | EmbedSend (WOLFSSL *ssl, char *buf, int sz, void *ctx) |
This function is the send embedded callback. More... | |
int | EmbedReceiveFrom (WOLFSSL *ssl, char *buf, int sz, void *) |
This function is the receive embedded callback. More... | |
int | EmbedSendTo (WOLFSSL *ssl, char *buf, int sz, void *ctx) |
This function is the send embedded callback. More... | |
int | EmbedGenerateCookie (WOLFSSL *ssl, unsigned char *buf, int sz, void *) |
This function is the DTLS Generate Cookie callback. More... | |
void | EmbedOcspRespFree (void *ctx, byte *resp) |
This function frees the response buffer. More... | |
void | wolfSSL_CTX_SetIORecv (WOLFSSL_CTX *ctx, CallbackIORecv CBIORecv) |
This function registers a receive callback for wolfSSL to get input data. By default, wolfSSL uses EmbedReceive() as the callback which uses the system’s TCP recv() function. The user can register a function to get input from memory, some other network module, or from anywhere. Please see the EmbedReceive() function in src/io.c as a guide for how the function should work and for error codes. In particular, IO_ERR_WANT_READ should be returned for non blocking receive when no data is ready. More... | |
void | wolfSSL_SetIOReadCtx (WOLFSSL *ssl, void *ctx) |
This function registers a context for the SSL session’s receive callback function. By default, wolfSSL sets the file descriptor passed to wolfSSL_set_fd() as the context when wolfSSL is using the system’s TCP library. If you’ve registered your own receive callback you may want to set a specific context for the session. For example, if you’re using memory buffers the context may be a pointer to a structure describing where and how to access the memory buffers. More... | |
void | wolfSSL_SetIOWriteCtx (WOLFSSL *ssl, void *ctx) |
This function registers a context for the SSL session’s send callback function. By default, wolfSSL sets the file descriptor passed to wolfSSL_set_fd() as the context when wolfSSL is using the system’s TCP library. If you’ve registered your own send callback you may want to set a specific context for the session. For example, if you’re using memory buffers the context may be a pointer to a structure describing where and how to access the memory buffers. More... | |
void * | wolfSSL_GetIOReadCtx (WOLFSSL *ssl) |
This function returns the IOCB_ReadCtx member of the WOLFSSL struct. More... | |
void * | wolfSSL_GetIOWriteCtx (WOLFSSL *ssl) |
This function returns the IOCB_WriteCtx member of the WOLFSSL structure. More... | |
void | wolfSSL_SetIOReadFlags (WOLFSSL *ssl, int flags) |
This function sets the flags for the receive callback to use for the given SSL session. The receive callback could be either the default wolfSSL EmbedReceive callback, or a custom callback specified by the user (see wolfSSL_CTX_SetIORecv). The default flag value is set internally by wolfSSL to the value of 0. The default wolfSSL receive callback uses the recv() function to receive data from the socket. From the recv() man page: “The flags argument to a recv() function is formed by or'ing one or more of the values: MSG_OOB process out-of-band data, MSG_PEEK peek at incoming message, MSG_WAITALL wait for full request or error. The MSG_OOB flag requests receipt of out-of-band data that would not be received in the normal data stream. Some protocols place expedited data at the head of the normal data queue, and thus this flag cannot be used with such protocols. The MSG_PEEK flag causes the receive operation to return data from the beginning of the receive queue without removing that data from the queue. Thus, a subsequent receive call will return the same data. The MSG_WAITALL flag requests that the operation block until the full request is satisfied. However, the call may still return less data than requested if a signal is caught, an error or disconnect occurs, or the next data to be received is of a different type than that returned.” More... | |
void | wolfSSL_SetIOWriteFlags (WOLFSSL *ssl, int flags) |
This function sets the flags for the send callback to use for the given SSL session. The send callback could be either the default wolfSSL EmbedSend callback, or a custom callback specified by the user (see wolfSSL_CTX_SetIOSend). The default flag value is set internally by wolfSSL to the value of 0. The default wolfSSL send callback uses the send() function to send data from the socket. From the send() man page: “The flags parameter may include one or more of the following: #define MSG_OOB 0x1 // process out-of-band data, #define MSG_DONTROUTE 0x4 // bypass routing, use direct interface. The flag MSG_OOB is used to send 'out-of-band' data on sockets that support this notion (e.g. SOCK_STREAM); the underlying protocol must also support 'out-of-band' data. MSG_DONTROUTE is usually used only by diagnostic or routing programs.” More... | |
void | wolfSSL_SetIO_NetX (WOLFSSL *ssl, NX_TCP_SOCKET *nxsocket, ULONG waitoption) |
This function sets the nxSocket and nxWait members of the nxCtx struct within the WOLFSSL structure. More... | |
void | wolfSSL_CTX_SetGenCookie (WOLFSSL_CTX *ctx, CallbackGenCookie cb) |
This function sets the callback for the CBIOCookie member of the WOLFSSL_CTX structure. The CallbackGenCookie type is a function pointer and has the signature: int (CallbackGenCookie)(WOLFSSL ssl, unsigned char* buf, int sz, void* ctx);. More... | |
void * | wolfSSL_GetCookieCtx (WOLFSSL *ssl) |
This function returns the IOCB_CookieCtx member of the WOLFSSL structure. More... | |
int | wolfSSL_SetIO_ISOTP (WOLFSSL *ssl, isotp_wolfssl_ctx *ctx, can_recv_fn recv_fn, can_send_fn send_fn, can_delay_fn delay_fn, word32 receive_delay, char *receive_buffer, int receive_buffer_size, void *arg) |
This function sets up the ISO-TP context if wolfSSL, for use when wolfSSL is compiled with WOLFSSL_ISOTP. More... | |
int EmbedGenerateCookie | ( | WOLFSSL * | ssl, |
unsigned char * | buf, | ||
int | sz, | ||
void * | |||
) |
This function is the DTLS Generate Cookie callback.
ssl | a pointer to a WOLFSSL structure, created using wolfSSL_new(). |
buf | byte pointer representing the buffer. It is the destination from XMEMCPY(). |
sz | the size of the buffer. |
ctx | a void pointer to user registered context. |
Example
void EmbedOcspRespFree | ( | void * | ctx, |
byte * | resp | ||
) |
This function frees the response buffer.
ctx | a void pointer to heap hint. |
resp | a byte pointer representing the response. |
Example
int EmbedReceive | ( | WOLFSSL * | ssl, |
char * | buf, | ||
int | sz, | ||
void * | ctx | ||
) |
This function is the receive embedded callback.
ssl | a pointer to a WOLFSSL structure, created using wolfSSL_new(). |
buf | a char pointer representation of the buffer. |
sz | the size of the buffer. |
ctx | a void pointer to user registered context. In the default case the ctx is a socket descriptor pointer. |
Example
int EmbedReceiveFrom | ( | WOLFSSL * | ssl, |
char * | buf, | ||
int | sz, | ||
void * | |||
) |
This function is the receive embedded callback.
ssl | a pointer to a WOLFSSL structure, created using wolfSSL_new(). |
buf | a constant char pointer to the buffer. |
sz | an int type representing the size of the buffer. |
ctx | a void pointer to the WOLFSSL_CTX context. |
Example
int EmbedSend | ( | WOLFSSL * | ssl, |
char * | buf, | ||
int | sz, | ||
void * | ctx | ||
) |
This function is the send embedded callback.
ssl | a pointer to a WOLFSSL structure, created using wolfSSL_new(). |
buf | a char pointer representing the buffer. |
sz | the size of the buffer. |
ctx | a void pointer to user registered context. |
Example
int EmbedSendTo | ( | WOLFSSL * | ssl, |
char * | buf, | ||
int | sz, | ||
void * | ctx | ||
) |
This function is the send embedded callback.
ssl | a pointer to a WOLFSSL structure, created using wolfSSL_new(). |
buf | a char pointer representing the buffer. |
sz | the size of the buffer. |
ctx | a void pointer to the user registered context. The default case is a WOLFSSL_DTLS_CTX structure. |
Example
void wolfSSL_CTX_SetGenCookie | ( | WOLFSSL_CTX * | ctx, |
CallbackGenCookie | cb | ||
) |
This function sets the callback for the CBIOCookie member of the WOLFSSL_CTX structure. The CallbackGenCookie type is a function pointer and has the signature: int (CallbackGenCookie)(WOLFSSL ssl, unsigned char* buf, int sz, void* ctx);.
ssl | a pointer to a WOLFSSL structure, created using wolfSSL_new(). |
cb | a CallbackGenCookie type function pointer with the signature of CallbackGenCookie. |
Example
void wolfSSL_CTX_SetIORecv | ( | WOLFSSL_CTX * | ctx, |
CallbackIORecv | CBIORecv | ||
) |
This function registers a receive callback for wolfSSL to get input data. By default, wolfSSL uses EmbedReceive() as the callback which uses the system’s TCP recv() function. The user can register a function to get input from memory, some other network module, or from anywhere. Please see the EmbedReceive() function in src/io.c as a guide for how the function should work and for error codes. In particular, IO_ERR_WANT_READ should be returned for non blocking receive when no data is ready.
ctx | pointer to the SSL context, created with wolfSSL_CTX_new(). |
callback | function to be registered as the receive callback for the wolfSSL context, ctx. The signature of this function must follow that as shown above in the Synopsis section. |
Example
void wolfSSL_SetIOReadCtx | ( | WOLFSSL * | ssl, |
void * | ctx | ||
) |
This function registers a context for the SSL session’s receive callback function. By default, wolfSSL sets the file descriptor passed to wolfSSL_set_fd() as the context when wolfSSL is using the system’s TCP library. If you’ve registered your own receive callback you may want to set a specific context for the session. For example, if you’re using memory buffers the context may be a pointer to a structure describing where and how to access the memory buffers.
ssl | pointer to the SSL session, created with wolfSSL_new(). |
rctx | pointer to the context to be registered with the SSL session’s (ssl) receive callback function. |
Example
void wolfSSL_SetIOReadFlags | ( | WOLFSSL * | ssl, |
int | flags | ||
) |
This function sets the flags for the receive callback to use for the given SSL session. The receive callback could be either the default wolfSSL EmbedReceive callback, or a custom callback specified by the user (see wolfSSL_CTX_SetIORecv). The default flag value is set internally by wolfSSL to the value of 0. The default wolfSSL receive callback uses the recv() function to receive data from the socket. From the recv() man page: “The flags argument to a recv() function is formed by or'ing one or more of the values: MSG_OOB process out-of-band data, MSG_PEEK peek at incoming message, MSG_WAITALL wait for full request or error. The MSG_OOB flag requests receipt of out-of-band data that would not be received in the normal data stream. Some protocols place expedited data at the head of the normal data queue, and thus this flag cannot be used with such protocols. The MSG_PEEK flag causes the receive operation to return data from the beginning of the receive queue without removing that data from the queue. Thus, a subsequent receive call will return the same data. The MSG_WAITALL flag requests that the operation block until the full request is satisfied. However, the call may still return less data than requested if a signal is caught, an error or disconnect occurs, or the next data to be received is of a different type than that returned.”
ssl | pointer to the SSL session, created with wolfSSL_new(). |
flags | value of the I/O read flags for the specified SSL session (ssl). |
Example
void wolfSSL_SetIOWriteCtx | ( | WOLFSSL * | ssl, |
void * | ctx | ||
) |
This function registers a context for the SSL session’s send callback function. By default, wolfSSL sets the file descriptor passed to wolfSSL_set_fd() as the context when wolfSSL is using the system’s TCP library. If you’ve registered your own send callback you may want to set a specific context for the session. For example, if you’re using memory buffers the context may be a pointer to a structure describing where and how to access the memory buffers.
ssl | pointer to the SSL session, created with wolfSSL_new(). |
wctx | pointer to the context to be registered with the SSL session’s (ssl) send callback function. |
Example
void wolfSSL_SetIOWriteFlags | ( | WOLFSSL * | ssl, |
int | flags | ||
) |
This function sets the flags for the send callback to use for the given SSL session. The send callback could be either the default wolfSSL EmbedSend callback, or a custom callback specified by the user (see wolfSSL_CTX_SetIOSend). The default flag value is set internally by wolfSSL to the value of 0. The default wolfSSL send callback uses the send() function to send data from the socket. From the send() man page: “The flags parameter may include one or more of the following: #define MSG_OOB 0x1 // process out-of-band data, #define MSG_DONTROUTE 0x4 // bypass routing, use direct interface. The flag MSG_OOB is used to send 'out-of-band' data on sockets that support this notion (e.g. SOCK_STREAM); the underlying protocol must also support 'out-of-band' data. MSG_DONTROUTE is usually used only by diagnostic or routing programs.”
ssl | pointer to the SSL session, created with wolfSSL_new(). |
flags | value of the I/O send flags for the specified SSL session (ssl). |
Example