Skip to content
This repository was archived by the owner on Sep 16, 2024. It is now read-only.

Commit ec13092

Browse files
author
Islam Wahdan
authored
Merge pull request #271 from pycom/mpy_err_qstr
Added ESP, MBEDTLS, LWIP, DNS error codes to Micropython QSTR
2 parents 0aec2de + b8480b2 commit ec13092

File tree

4 files changed

+357
-1
lines changed

4 files changed

+357
-1
lines changed

esp32/mods/modusocket.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -903,7 +903,7 @@ STATIC mp_obj_t mod_usocket_getaddrinfo(size_t n_args, const mp_obj_t *args) {
903903
sprintf(port_s, "%d", port);
904904
int32_t result = getaddrinfo(host, port_s, &hints, &res);
905905
if(result != 0 || res == NULL) {
906-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(-result)));
906+
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(result)));
907907
}
908908
addr = &((struct sockaddr_in *)res->ai_addr)->sin_addr;
909909
mp_obj_tuple_t *tuple = mp_obj_new_tuple(5, NULL);

esp32/mp_pycom_err.h

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
/*
2+
* mp_pycom_err.h
3+
*
4+
* Created on: 22 Feb 2019
5+
* Author: iwahdan
6+
*/
7+
8+
#ifndef ESP32_MP_PYCOM_ERR_H_
9+
#define ESP32_MP_PYCOM_ERR_H_
10+
11+
#include "mbedtls/net_sockets.h"
12+
#include "mbedtls/ssl.h"
13+
#include "lwip/err.h"
14+
#include "lwip/netdb.h"
15+
#include "esp_err.h"
16+
17+
#define MP_MBEDTLS_ERR_NET_SOCKET_FAILED MBEDTLS_ERR_NET_SOCKET_FAILED
18+
#define MP_MBEDTLS_ERR_NET_CONNECT_FAILED MBEDTLS_ERR_NET_CONNECT_FAILED
19+
#define MP_MBEDTLS_ERR_NET_BIND_FAILED MBEDTLS_ERR_NET_BIND_FAILED
20+
#define MP_MBEDTLS_ERR_NET_LISTEN_FAILED MBEDTLS_ERR_NET_LISTEN_FAILED
21+
#define MP_MBEDTLS_ERR_NET_ACCEPT_FAILED MBEDTLS_ERR_NET_ACCEPT_FAILED
22+
#define MP_MBEDTLS_ERR_NET_RECV_FAILED MBEDTLS_ERR_NET_RECV_FAILED
23+
#define MP_MBEDTLS_ERR_NET_SEND_FAILED MBEDTLS_ERR_NET_SEND_FAILED
24+
#define MP_MBEDTLS_ERR_NET_CONN_RESET MBEDTLS_ERR_NET_CONN_RESET
25+
#define MP_MBEDTLS_ERR_NET_UNKNOWN_HOST MBEDTLS_ERR_NET_UNKNOWN_HOST
26+
#define MP_MBEDTLS_ERR_NET_BUFFER_TOO_SMALL MBEDTLS_ERR_NET_BUFFER_TOO_SMALL
27+
#define MP_MBEDTLS_ERR_NET_INVALID_CONTEXT MBEDTLS_ERR_NET_INVALID_CONTEXT
28+
#define MP_MBEDTLS_ERR_NET_POLL_FAILED MBEDTLS_ERR_NET_POLL_FAILED
29+
#define MP_MBEDTLS_ERR_NET_BAD_INPUT_DATA MBEDTLS_ERR_NET_BAD_INPUT_DATA
30+
31+
#define MP_ERR_MEM ERR_MEM
32+
#define MP_ERR_BUF ERR_BUF
33+
#define MP_ERR_TIMEOUT ERR_TIMEOUT
34+
#define MP_ERR_RTE ERR_RTE
35+
#define MP_ERR_INPROGRESS ERR_INPROGRESS
36+
#define MP_ERR_VAL ERR_VAL
37+
#define MP_ERR_WOULDBLOCK ERR_WOULDBLOCK
38+
#define MP_ERR_USE ERR_USE
39+
40+
#define MP_ERR_ALREADY ERR_ALREADY
41+
#define MP_ERR_ISCONN ERR_ISCONN
42+
#define MP_ERR_ABRT ERR_ABRT
43+
#define MP_ERR_RST ERR_RST
44+
#define MP_ERR_CLSD ERR_CLSD
45+
#define MP_ERR_CONN ERR_CONN
46+
#define MP_ERR_ARG ERR_ARG
47+
#define MP_ERR_IF ERR_IF
48+
49+
#define MP_ESP_ERR_NO_MEM ESP_ERR_NO_MEM /*!< Out of memory */
50+
#define MP_ESP_ERR_INVALID_ARG ESP_ERR_INVALID_ARG /*!< Invalid argument */
51+
#define MP_ESP_ERR_INVALID_STATE ESP_ERR_INVALID_STATE /*!< Invalid state */
52+
#define MP_ESP_ERR_INVALID_SIZE ESP_ERR_INVALID_SIZE /*!< Invalid size */
53+
#define MP_ESP_ERR_NOT_FOUND ESP_ERR_NOT_FOUND /*!< Requested resource not found */
54+
#define MP_ESP_ERR_NOT_SUPPORTED ESP_ERR_NOT_SUPPORTED /*!< Operation or feature not supported */
55+
#define MP_ESP_ERR_TIMEOUT ESP_ERR_TIMEOUT /*!< Operation timed out */
56+
#define MP_ESP_ERR_INVALID_RESPONSE ESP_ERR_INVALID_RESPONSE /*!< Received response was invalid */
57+
#define MP_ESP_ERR_INVALID_CRC ESP_ERR_INVALID_CRC /*!< CRC or checksum was invalid */
58+
#define MP_ESP_ERR_INVALID_VERSION ESP_ERR_INVALID_VERSION /*!< Version was invalid */
59+
#define MP_ESP_ERR_INVALID_MAC ESP_ERR_INVALID_MAC /*!< MAC address was invalid */
60+
61+
#define MP_EAI_NONAME EAI_NONAME
62+
#define MP_EAI_SERVICE EAI_SERVICE
63+
#define MP_EAI_FAIL EAI_FAIL
64+
#define MP_EAI_MEMORY EAI_MEMORY
65+
#define MP_EAI_FAMILY EAI_FAMILY
66+
#define MP_HOST_NOT_FOUND HOST_NOT_FOUND
67+
#define MP_NO_DATA NO_DATA
68+
#define MP_NO_RECOVERY NO_RECOVERY
69+
#define MP_TRY_AGAIN TRY_AGAIN
70+
71+
#define MP_MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE /* < The requested feature is not available. */
72+
#define MP_MBEDTLS_ERR_SSL_BAD_INPUT_DATA MBEDTLS_ERR_SSL_BAD_INPUT_DATA /* < Bad input parameters to function. */
73+
#define MP_MBEDTLS_ERR_SSL_INVALID_MAC MBEDTLS_ERR_SSL_INVALID_MAC /* < Verification of the message MAC failed. */
74+
#define MP_MBEDTLS_ERR_SSL_INVALID_RECORD MBEDTLS_ERR_SSL_INVALID_RECORD /* < An invalid SSL record was received. */
75+
#define MP_MBEDTLS_ERR_SSL_CONN_EOF MBEDTLS_ERR_SSL_CONN_EOF /* < The connection indicated an EOF. */
76+
#define MP_MBEDTLS_ERR_SSL_UNKNOWN_CIPHER MBEDTLS_ERR_SSL_UNKNOWN_CIPHER /* < An unknown cipher was received. */
77+
#define MP_MBEDTLS_ERR_SSL_NO_CIPHER_CHOSEN MBEDTLS_ERR_SSL_NO_CIPHER_CHOSEN /* < The server has no ciphersuites in common with the client. */
78+
#define MP_MBEDTLS_ERR_SSL_NO_RNG MBEDTLS_ERR_SSL_NO_RNG /* < No RNG was provided to the SSL module. */
79+
#define MP_MBEDTLS_ERR_SSL_NO_CLIENT_CERTIFICATE MBEDTLS_ERR_SSL_NO_CLIENT_CERTIFICATE /* < No client certification received from the client, but required by the authentication mode. */
80+
#define MP_MBEDTLS_ERR_SSL_CERTIFICATE_TOO_LARGE MBEDTLS_ERR_SSL_CERTIFICATE_TOO_LARGE /* < Our own certificate(s) is/are too large to send in an SSL message. */
81+
#define MP_MBEDTLS_ERR_SSL_CERTIFICATE_REQUIRED MBEDTLS_ERR_SSL_CERTIFICATE_REQUIRED /* < The own certificate is not set, but needed by the server. */
82+
#define MP_MBEDTLS_ERR_SSL_PRIVATE_KEY_REQUIRED MBEDTLS_ERR_SSL_PRIVATE_KEY_REQUIRED /* < The own private key or pre-shared key is not set, but needed. */
83+
#define MP_MBEDTLS_ERR_SSL_CA_CHAIN_REQUIRED MBEDTLS_ERR_SSL_CA_CHAIN_REQUIRED /* < No CA Chain is set, but required to operate. */
84+
#define MP_MBEDTLS_ERR_SSL_UNEXPECTED_MESSAGE MBEDTLS_ERR_SSL_UNEXPECTED_MESSAGE /* < An unexpected message was received from our peer. */
85+
#define MP_MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE /* < A fatal alert message was received from our peer. */
86+
#define MP_MBEDTLS_ERR_SSL_PEER_VERIFY_FAILED MBEDTLS_ERR_SSL_PEER_VERIFY_FAILED /* < Verification of our peer failed. */
87+
#define MP_MBEDTLS_ERR_SSL_PEER_CLOSE_NOTIFY MBEDTLS_ERR_SSL_PEER_CLOSE_NOTIFY /* < The peer notified us that the connection is going to be closed. */
88+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO /* < Processing of the ClientHello handshake message failed. */
89+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO /* < Processing of the ServerHello handshake message failed. */
90+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE /* < Processing of the Certificate handshake message failed. */
91+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST /* < Processing of the CertificateRequest handshake message failed. */
92+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE MBEDTLS_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE /* < Processing of the ServerKeyExchange handshake message failed. */
93+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO_DONE MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO_DONE /* < Processing of the ServerHelloDone handshake message failed. */
94+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE /* < Processing of the ClientKeyExchange handshake message failed. */
95+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP /* < Processing of the ClientKeyExchange handshake message failed in DHM / ECDH Read Public. */
96+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS /* < Processing of the ClientKeyExchange handshake message failed in DHM / ECDH Calculate Secret. */
97+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY /* < Processing of the CertificateVerify handshake message failed. */
98+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC MBEDTLS_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC /* < Processing of the ChangeCipherSpec handshake message failed. */
99+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_FINISHED MBEDTLS_ERR_SSL_BAD_HS_FINISHED /* < Processing of the Finished handshake message failed. */
100+
#define MP_MBEDTLS_ERR_SSL_ALLOC_FAILED MBEDTLS_ERR_SSL_ALLOC_FAILED /* < Memory allocation failed */
101+
#define MP_MBEDTLS_ERR_SSL_HW_ACCEL_FAILED MBEDTLS_ERR_SSL_HW_ACCEL_FAILED /* < Hardware acceleration function returned with error */
102+
#define MP_MBEDTLS_ERR_SSL_HW_ACCEL_FALLTHROUGH MBEDTLS_ERR_SSL_HW_ACCEL_FALLTHROUGH /* < Hardware acceleration function skipped / left alone data */
103+
#define MP_MBEDTLS_ERR_SSL_COMPRESSION_FAILED MBEDTLS_ERR_SSL_COMPRESSION_FAILED /* < Processing of the compression / decompression failed */
104+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_PROTOCOL_VERSION MBEDTLS_ERR_SSL_BAD_HS_PROTOCOL_VERSION /* < Handshake protocol not within min/max boundaries */
105+
#define MP_MBEDTLS_ERR_SSL_BAD_HS_NEW_SESSION_TICKET MBEDTLS_ERR_SSL_BAD_HS_NEW_SESSION_TICKET /* < Processing of the NewSessionTicket handshake message failed. */
106+
#define MP_MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED /* < Session ticket has expired. */
107+
#define MP_MBEDTLS_ERR_SSL_PK_TYPE_MISMATCH MBEDTLS_ERR_SSL_PK_TYPE_MISMATCH /* < Public key type mismatch (eg, asked for RSA key exchange and presented EC key) */
108+
#define MP_MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY /* < Unknown identity received (eg, PSK identity) */
109+
#define MP_MBEDTLS_ERR_SSL_INTERNAL_ERROR MBEDTLS_ERR_SSL_INTERNAL_ERROR /* < Internal error (eg, unexpected failure in lower-level module) */
110+
#define MP_MBEDTLS_ERR_SSL_COUNTER_WRAPPING MBEDTLS_ERR_SSL_COUNTER_WRAPPING /* < A counter would wrap (eg, too many messages exchanged). */
111+
#define MP_MBEDTLS_ERR_SSL_WAITING_SERVER_HELLO_RENEGO MBEDTLS_ERR_SSL_WAITING_SERVER_HELLO_RENEGO /* < Unexpected message at ServerHello in renegotiation. */
112+
#define MP_MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED /* < DTLS client must retry for hello verification */
113+
#define MP_MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL /* < A buffer is too small to receive or write a message */
114+
#define MP_MBEDTLS_ERR_SSL_NO_USABLE_CIPHERSUITE MBEDTLS_ERR_SSL_NO_USABLE_CIPHERSUITE /* < None of the common ciphersuites is usable (eg, no suitable certificate, see debug messages). */
115+
#define MP_MBEDTLS_ERR_SSL_WANT_READ MBEDTLS_ERR_SSL_WANT_READ /* < No data of requested type currently available on underlying transport. */
116+
#define MP_MBEDTLS_ERR_SSL_WANT_WRITE MBEDTLS_ERR_SSL_WANT_WRITE /* < Connection requires a write call. */
117+
#define MP_MBEDTLS_ERR_SSL_TIMEOUT MBEDTLS_ERR_SSL_TIMEOUT /* < The operation timed out. */
118+
#define MP_MBEDTLS_ERR_SSL_CLIENT_RECONNECT MBEDTLS_ERR_SSL_CLIENT_RECONNECT /* < The client initiated a reconnect from the same port. */
119+
#define MP_MBEDTLS_ERR_SSL_UNEXPECTED_RECORD MBEDTLS_ERR_SSL_UNEXPECTED_RECORD /* < Record header looks valid but is not expected. */
120+
#define MP_MBEDTLS_ERR_SSL_NON_FATAL MBEDTLS_ERR_SSL_NON_FATAL /* < The alert message received indicates a non-fatal error. */
121+
#define MP_MBEDTLS_ERR_SSL_INVALID_VERIFY_HASH MBEDTLS_ERR_SSL_INVALID_VERIFY_HASH /* < Couldn't set the hash for verifying CertificateVerify */
122+
#define MP_MBEDTLS_ERR_SSL_CONTINUE_PROCESSING MBEDTLS_ERR_SSL_CONTINUE_PROCESSING /* < Internal-only message signaling that further message-processing should be done */
123+
#define MP_MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS /* < The asynchronous operation is not completed yet. */
124+
125+
#endif /* ESP32_MP_PYCOM_ERR_H_ */

0 commit comments

Comments
 (0)