SharkSSL C/C++ Reference
TLS, cryptography, certificates, and PSA integration
selib.h File Reference
#include <SharkSSL.h>
#include <SharkSslEx.h>
#include <selibplat.h>
#include <string.h>
#include <stdarg.h>

Go to the source code of this file.

Macros

#define MS_SEC
 
#define INFINITE_TMO   (~((U32)0))
 Use INFINITE_TMO for standard blocking call. More...
 
#define SeCtx   void
 
#define SOCKET   int
 Infinite wait time option for socket read functions. More...
 
#define INVALID_SOCKET   ((SOCKET)-1)
 
#define SOCKET_constructor(o, ctx)   ((void)(ctx), (*(o) = INVALID_SOCKET))
 
#define se_getSockName(sock, buf, status)
 
#define xprintf(data)   _xprintf data
 The macro xprintf expands to function _xprintf if the code is compiled with XPRINTF set to 1. More...
 

Functions

void se_disableTrace (int disable)
 Disable/enable the trace when XPRINTF is defined. More...
 
void printCiphersuite (U16 cipherSuite)
 Print the selected ciphersuite. More...
 
int seSec_handshake (SharkSslCon *s, SOCKET *sock, U32 timeout, const char *commonName)
 Performs the initial SSL handshaking using an asymmetric cipher in order to establish cipher settings and a shared key for the session. More...
 
int seSec_keyUpdate (SharkSslCon *s, SOCKET *sock, U8 requestUpdate)
 Sends a TLS 1.3 KeyUpdate handshake message. More...
 
int seSec_close (SharkSslCon *s, SOCKET *sock)
 Sends the complete close_notify alert. More...
 
int seSec_read (SharkSslCon *s, SOCKET *sock, U8 **buf, U32 timeout)
 Read data from socket stream and decode the encrypted data. More...
 
int seSec_write (SharkSslCon *s, SOCKET *sock, U8 *buf, int maxLen)
 Encrypts and sends plaintext to the connected peer. More...
 
int se_connect (SOCKET *sock, const char *address, U16 port)
 Initializes a SOCKET object connected to a remote host/address at a given port. More...
 
int se_bind (SOCKET *sock, U16 port)
 Initializes a SOCKET object bound to a local port, ready to accept client connections. More...
 
int se_accept (SOCKET **listenSock, U32 timeout, SOCKET **outSock)
 Waits for remote connections on the server SOCKET object 'listenSock', initialized by function se_bind, and initializes socket object 'outSock' to represent the new connection. More...
 
void se_close (SOCKET *sock)
 Close a connected socket connection. More...
 
int se_sockValid (SOCKET *sock)
 Tests whether the local socket handle is valid. More...
 
S32 se_send (SOCKET *sock, const void *buf, U32 len)
 Sends data to the connected peer. More...
 
int se_sendAll (SOCKET *sock, const void *buf, int len)
 Sends all bytes on a blocking transport, continuing partial sends. More...
 
S32 se_recv (SOCKET *sock, void *buf, U32 len, U32 timeout)
 Waits for data sent by peer. More...
 
void _xprintf (const char *fmt,...)
 The example code and macro xprintf requires this function when the code is compiled with macro XPRINTF set to 1. More...
 
void mainTask (SeCtx *ctx)
 Main entry for all example programs. More...
 

Macro Definition Documentation

◆ MS_SEC

#define MS_SEC