Skip to content

Commit 5973c4a

Browse files
committed
socketpool: factor out constants
This header can be used by ssl even if there's no core socketpool
1 parent 0c1db5e commit 5973c4a

File tree

3 files changed

+74
-40
lines changed

3 files changed

+74
-40
lines changed

shared-bindings/socketpool/SocketPool.h

Lines changed: 2 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -29,50 +29,12 @@
2929

3030
#include "common-hal/socketpool/SocketPool.h"
3131

32+
#include "shared-bindings/socketpool/__init__.h"
33+
#include "shared-bindings/socketpool/enum.h"
3234
#include "shared-bindings/socketpool/Socket.h"
3335

3436
extern const mp_obj_type_t socketpool_socketpool_type;
3537

36-
typedef enum {
37-
SOCKETPOOL_SOCK_STREAM = 1,
38-
SOCKETPOOL_SOCK_DGRAM = 2,
39-
SOCKETPOOL_SOCK_RAW = 3
40-
} socketpool_socketpool_sock_t;
41-
42-
typedef enum {
43-
SOCKETPOOL_AF_INET = 2,
44-
SOCKETPOOL_AF_INET6 = 10
45-
} socketpool_socketpool_addressfamily_t;
46-
47-
typedef enum {
48-
SOCKETPOOL_IPPROTO_IP = 0,
49-
SOCKETPOOL_IPPROTO_ICMP = 1,
50-
SOCKETPOOL_IPPROTO_TCP = 6,
51-
SOCKETPOOL_IPPROTO_UDP = 17,
52-
SOCKETPOOL_IPPROTO_IPV6 = 41,
53-
SOCKETPOOL_IPPROTO_RAW = 255,
54-
} socketpool_socketpool_ipproto_t;
55-
56-
typedef enum {
57-
SOCKETPOOL_TCP_NODELAY = 1,
58-
} socketpool_socketpool_tcpopt_t;
59-
60-
typedef enum {
61-
SOCKETPOOL_SOL_SOCKET = 0xfff,
62-
} socketpool_socketpool_optlevel_t;
63-
64-
typedef enum {
65-
SOCKETPOOL_SO_REUSEADDR = 0x0004,
66-
} socketpool_socketpool_socketopt_t;
67-
68-
typedef enum {
69-
SOCKETPOOL_IP_MULTICAST_TTL = 5,
70-
} socketpool_socketpool_ipopt_t;
71-
72-
typedef enum {
73-
SOCKETPOOL_EAI_NONAME = -2,
74-
} socketpool_eai_t;
75-
7638
void common_hal_socketpool_socketpool_construct(socketpool_socketpool_obj_t *self, mp_obj_t radio);
7739

7840
socketpool_socket_obj_t *common_hal_socketpool_socket(socketpool_socketpool_obj_t *self,

shared-bindings/socketpool/enum.h

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
/*
2+
* This file is part of the MicroPython project, http://micropython.org/
3+
*
4+
* The MIT License (MIT)
5+
*
6+
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
7+
*
8+
* Permission is hereby granted, free of charge, to any person obtaining a copy
9+
* of this software and associated documentation files (the "Software"), to deal
10+
* in the Software without restriction, including without limitation the rights
11+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12+
* copies of the Software, and to permit persons to whom the Software is
13+
* furnished to do so, subject to the following conditions:
14+
*
15+
* The above copyright notice and this permission notice shall be included in
16+
* all copies or substantial portions of the Software.
17+
*
18+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24+
* THE SOFTWARE.
25+
*/
26+
27+
#pragma once
28+
29+
// Note: This file must be designed so it be included by ssl
30+
// whether or not CIRCUITPY_SOCKETPOOL is set.
31+
//
32+
typedef enum {
33+
SOCKETPOOL_SOCK_STREAM = 1,
34+
SOCKETPOOL_SOCK_DGRAM = 2,
35+
SOCKETPOOL_SOCK_RAW = 3
36+
} socketpool_socketpool_sock_t;
37+
38+
typedef enum {
39+
SOCKETPOOL_AF_INET = 2,
40+
SOCKETPOOL_AF_INET6 = 10
41+
} socketpool_socketpool_addressfamily_t;
42+
43+
typedef enum {
44+
SOCKETPOOL_IPPROTO_IP = 0,
45+
SOCKETPOOL_IPPROTO_ICMP = 1,
46+
SOCKETPOOL_IPPROTO_TCP = 6,
47+
SOCKETPOOL_IPPROTO_UDP = 17,
48+
SOCKETPOOL_IPPROTO_IPV6 = 41,
49+
SOCKETPOOL_IPPROTO_RAW = 255,
50+
} socketpool_socketpool_ipproto_t;
51+
52+
typedef enum {
53+
SOCKETPOOL_TCP_NODELAY = 1,
54+
} socketpool_socketpool_tcpopt_t;
55+
56+
typedef enum {
57+
SOCKETPOOL_SOL_SOCKET = 0xfff,
58+
} socketpool_socketpool_optlevel_t;
59+
60+
typedef enum {
61+
SOCKETPOOL_SO_REUSEADDR = 0x0004,
62+
} socketpool_socketpool_socketopt_t;
63+
64+
typedef enum {
65+
SOCKETPOOL_IP_MULTICAST_TTL = 5,
66+
} socketpool_socketpool_ipopt_t;
67+
68+
typedef enum {
69+
SOCKETPOOL_EAI_NONAME = -2,
70+
} socketpool_eai_t;

shared-module/ssl/SSLSocket.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
#include "py/stream.h"
4141
#include "supervisor/shared/tick.h"
4242

43+
#include "shared-bindings/socketpool/enum.h"
44+
4345
#include "mbedtls/version.h"
4446

4547
#if defined(MBEDTLS_ERROR_C)

0 commit comments

Comments
 (0)