31 #ifndef IOT_NETWORK_H_ 32 #define IOT_NETWORK_H_ 43 typedef enum IotNetworkError
131 typedef struct IotNetworkInterface
148 void * pCredentialInfo,
149 void ** pConnection );
193 size_t ( * send )(
void * pConnection,
194 const uint8_t * pMessage,
195 size_t messageLength );
215 size_t ( * receive )(
void * pConnection,
217 size_t bytesRequested );
238 size_t ( * receiveUpto )(
void * pConnection,
294 typedef struct IotNetworkServerInfo
308 typedef struct IotNetworkCredentials
size_t maxFragmentLength
Set this to a non-zero value to use TLS max fragment length negotiation (TLS MFLN).
Definition: iot_network.h:328
const char * pHostName
Server host name. Must be NULL-terminated.
Definition: iot_network.h:296
Contains the credentials necessary for connection setup.
Definition: iot_network.h:308
void(* IotNetworkReceiveCallback_t)(void *pConnection, void *pContext)
Provide an asynchronous notification of incoming network data.
Definition: iot_network.h:120
Represents the functions of a network stack.
Definition: iot_network.h:131
const char * pAlpnProtos
Set this to a non-NULL value to use ALPN.
Definition: iot_network.h:319
uint16_t port
Server port in host-order.
Definition: iot_network.h:297
bool disableSni
Disable server name indication (SNI) for a TLS session.
Definition: iot_network.h:333
const char * pClientCert
String representing the client certificate.
Definition: iot_network.h:337
size_t clientCertSize
Size associated with IotNetworkCredentials_t.pClientCert.
Definition: iot_network.h:338
Information on the remote server for connection setup.
Definition: iot_network.h:294
size_t rootCaSize
Size associated with IotNetworkCredentials_t.pRootCa.
Definition: iot_network.h:336
size_t privateKeySize
Size associated with IotNetworkCredentials_t.pPrivateKey.
Definition: iot_network.h:340
const char * pRootCa
String representing a trusted server root certificate.
Definition: iot_network.h:335
const char * pPrivateKey
String representing the client certificate's private key.
Definition: iot_network.h:339