45# ifdef ANJ_WITH_SECURITY
59# define ANJ_NET_OK (0)
66# define ANJ_NET_EAGAIN (1)
71# define ANJ_NET_EMSGSIZE (2)
77# define ANJ_NET_ENOTSUP (3)
85# define ANJ_NET_EINPROGRESS (4)
164# ifdef ANJ_WITH_SECURITY
194# ifdef ANJ_WITH_EXTERNAL_CRYPTO_STORAGE
216# ifdef ANJ_WITH_SECURITY
221struct anj_net_ctx_struct;
380 size_t *bytes_received,
int anj_net_get_state_t(anj_net_ctx_t *ctx, anj_net_socket_state_t *out_value)
Definition anj_net_api.h:430
#define ANJ_NET_EAGAIN
Definition anj_net_api.h:66
int anj_net_close_t(anj_net_ctx_t *ctx)
Definition anj_net_api.h:417
int anj_net_shutdown_t(anj_net_ctx_t *ctx)
Definition anj_net_api.h:401
static bool anj_net_is_ok(int res)
Check if a network operation succeeded.
Definition anj_net_api.h:246
anj_net_binding_type_t
Definition anj_net_api.h:89
@ ANJ_NET_BINDING_TCP
Definition anj_net_api.h:91
@ ANJ_NET_BINDING_TLS
Definition anj_net_api.h:93
@ ANJ_NET_BINDING_NON_IP
Definition anj_net_api.h:94
@ ANJ_NET_BINDING_DTLS
Definition anj_net_api.h:92
@ ANJ_NET_BINDING_UDP
Definition anj_net_api.h:90
anj_net_security_mode_t
Definition anj_net_api.h:165
@ ANJ_NET_SECURITY_PSK
Definition anj_net_api.h:166
@ ANJ_NET_SECURITY_CERTIFICATE
Definition anj_net_api.h:167
struct anj_net_ctx_struct anj_net_ctx_t
Opaque network context handle.
Definition anj_net_api.h:235
int anj_net_create_ctx_t(anj_net_ctx_t **ctx, const anj_net_config_t *config)
Definition anj_net_api.h:296
int anj_net_get_inner_mtu_t(anj_net_ctx_t *ctx, int32_t *out_value)
Definition anj_net_api.h:445
#define ANJ_NET_OK
Definition anj_net_api.h:59
int anj_net_recv_t(anj_net_ctx_t *ctx, size_t *bytes_received, uint8_t *buf, size_t length)
Definition anj_net_api.h:379
anj_net_socket_state_t
Definition anj_net_api.h:97
@ ANJ_NET_SOCKET_STATE_CONNECTED
Definition anj_net_api.h:115
@ ANJ_NET_SOCKET_STATE_CLOSED
Definition anj_net_api.h:102
@ ANJ_NET_SOCKET_STATE_SHUTDOWN
Definition anj_net_api.h:108
int anj_net_cleanup_ctx_t(anj_net_ctx_t **ctx)
Definition anj_net_api.h:311
int anj_net_connect_t(anj_net_ctx_t *ctx, const char *hostname, const char *port)
Definition anj_net_api.h:332
anj_net_address_family_setting_t
Definition anj_net_api.h:121
@ ANJ_NET_AF_SETTING_PREFERRED_INET4
Definition anj_net_api.h:144
@ ANJ_NET_AF_SETTING_FORCE_INET4
Definition anj_net_api.h:132
@ ANJ_NET_AF_SETTING_FORCE_INET6
Definition anj_net_api.h:138
@ ANJ_NET_AF_SETTING_PREFERRED_INET6
Definition anj_net_api.h:150
@ ANJ_NET_AF_SETTING_UNSPEC
Definition anj_net_api.h:126
static bool anj_net_is_again(int res)
Check if data was received.
Definition anj_net_api.h:260
#define ANJ_NET_EINPROGRESS
Definition anj_net_api.h:85
static bool anj_net_is_inprogress(int res)
Check if a network operation is in progress.
Definition anj_net_api.h:277
int anj_net_send_t(anj_net_ctx_t *ctx, size_t *bytes_sent, const uint8_t *buf, size_t length)
Definition anj_net_api.h:355
int anj_net_queue_mode_rx_off_t(anj_net_ctx_t *ctx)
Definition anj_net_api.h:478
Cryptographic data descriptors used by Security Object and networking.
Global configuration validation header for Anjay Lite.
Platform hook for providing randomness.
Definition anj_net_api.h:175
void * empty
Definition anj_net_api.h:176
Definition anj_net_api.h:214
anj_net_socket_configuration_t raw_socket_config
Definition anj_net_api.h:215
anj_net_ssl_configuration_t secure_socket_config
Definition anj_net_api.h:217
Definition anj_net_api.h:170
anj_crypto_security_info_t key
Definition anj_net_api.h:171
anj_crypto_security_info_t identity
Definition anj_net_api.h:172
Definition anj_net_api.h:179
anj_net_certificate_info_t cert
Definition anj_net_api.h:183
anj_net_security_mode_t mode
Definition anj_net_api.h:180
anj_net_psk_info_t psk
Definition anj_net_api.h:182
Definition anj_net_api.h:156
anj_net_address_family_setting_t af_setting
Definition anj_net_api.h:161
Definition anj_net_api.h:187
void * crypto_ctx
Definition anj_net_api.h:198
anj_net_security_info_t security
Definition anj_net_api.h:192