Skip to content

Commit 2ae3347

Browse files
committed
Add socketpool.SocketPool.IPPROTO_ constants
1 parent 8c567cc commit 2ae3347

File tree

2 files changed

+53
-3
lines changed

2 files changed

+53
-3
lines changed

shared-bindings/socketpool/SocketPool.c

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,30 @@ MP_DEFINE_EXCEPTION(gaierror, OSError)
8383
//|
8484
//| IPPROTO_TCP: int
8585
//| IPPROTO_IP: int
86+
//| IPPROTO_AH: int
87+
//| IPPROTO_DSTOPTS: int
88+
//| IPPROTO_EGP: int
89+
//| IPPROTO_ESP: int
90+
//| IPPROTO_FRAGMENT: int
91+
//| IPPROTO_GRE: int
92+
//| IPPROTO_HOPOPTS: int
93+
//| IPPROTO_ICMP: int
94+
//| IPPROTO_ICMPV6: int
95+
//| IPPROTO_IDP: int
96+
//| IPPROTO_IGMP: int
97+
//| IPPROTO_IPIP: int
98+
//| IPPROTO_IPV6: int
99+
//| IPPROTO_MPTCP: int
100+
//| IPPROTO_NONE: int
101+
//| IPPROTO_PIM: int
102+
//| IPPROTO_PUP: int
103+
//| IPPROTO_RAW: int
104+
//| IPPROTO_ROUTING: int
105+
//| IPPROTO_RSVP: int
106+
//| IPPROTO_SCTP: int
107+
//| IPPROTO_TP: int
108+
//| IPPROTO_UDP: int
109+
//| IPPROTO_UDPLITE: int
86110
//|
87111
//| IP_MULTICAST_TTL: int
88112
//|
@@ -93,7 +117,7 @@ MP_DEFINE_EXCEPTION(gaierror, OSError)
93117
//|
94118
//| :param ~int family: AF_INET or AF_INET6
95119
//| :param ~int type: SOCK_STREAM, SOCK_DGRAM or SOCK_RAW
96-
//| :param ~int proto: IPPROTO_TCP or IPPROTO_IP. Only works with SOCK_RAW
120+
//| :param ~int proto: IPPROTO_TCP, IPPROTO_IP or any other IPPROTO_ constant. Only works with SOCK_RAW
97121
//|
98122
//| The ``fileno`` argument available in ``socket.socket()``
99123
//| in CPython is not supported.
@@ -104,7 +128,7 @@ STATIC mp_obj_t socketpool_socketpool_socket(size_t n_args, const mp_obj_t *pos_
104128
static const mp_arg_t allowed_args[] = {
105129
{ MP_QSTR_family, MP_ARG_INT, {.u_int = SOCKETPOOL_AF_INET} },
106130
{ MP_QSTR_type, MP_ARG_INT, {.u_int = SOCKETPOOL_SOCK_STREAM} },
107-
{ MP_QSTR_proto, MP_ARG_INT, {.u_int = 0} },
131+
{ MP_QSTR_proto, MP_ARG_INT, {.u_int = SOCKETPOOL_IPPROTO_IP} },
108132
};
109133
socketpool_socketpool_obj_t *self = MP_OBJ_TO_PTR(pos_args[0]);
110134

@@ -113,7 +137,7 @@ STATIC mp_obj_t socketpool_socketpool_socket(size_t n_args, const mp_obj_t *pos_
113137

114138
socketpool_socketpool_addressfamily_t family = args[ARG_family].u_int;
115139
socketpool_socketpool_sock_t type = args[ARG_type].u_int;
116-
int proto = args[ARG_proto].u_int;
140+
socketpool_socketpool_ipproto_t = args[ARG_proto].u_int;
117141

118142
if (proto < 0) {
119143
proto = 0;

shared-bindings/socketpool/SocketPool.h

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,34 @@ typedef enum {
4545
} socketpool_socketpool_addressfamily_t;
4646

4747
typedef enum {
48+
// SOCKETPOOL_IPPROTO_IP = 0,
49+
// SOCKETPOOL_IPPROTO_TCP = 6,
50+
SOCKETPOOL_IPPROTO_AH = 51,
51+
SOCKETPOOL_IPPROTO_DSTOPTS = 60,
52+
SOCKETPOOL_IPPROTO_EGP = 8,
53+
SOCKETPOOL_IPPROTO_ESP = 50,
54+
SOCKETPOOL_IPPROTO_FRAGMENT = 44,
55+
SOCKETPOOL_IPPROTO_GRE = 47,
56+
SOCKETPOOL_IPPROTO_HOPOPTS = 0,
57+
SOCKETPOOL_IPPROTO_ICMP = 1,
58+
SOCKETPOOL_IPPROTO_ICMPV6 = 58,
59+
SOCKETPOOL_IPPROTO_IDP = 22,
60+
SOCKETPOOL_IPPROTO_IGMP = 2,
4861
SOCKETPOOL_IPPROTO_IP = 0,
62+
SOCKETPOOL_IPPROTO_IPIP = 4,
63+
SOCKETPOOL_IPPROTO_IPV6 = 41,
64+
SOCKETPOOL_IPPROTO_MPTCP = 262,
65+
SOCKETPOOL_IPPROTO_NONE = 59,
66+
SOCKETPOOL_IPPROTO_PIM = 103,
67+
SOCKETPOOL_IPPROTO_PUP = 12,
68+
SOCKETPOOL_IPPROTO_RAW = 255,
69+
SOCKETPOOL_IPPROTO_ROUTING = 43,
70+
SOCKETPOOL_IPPROTO_RSVP = 46,
71+
SOCKETPOOL_IPPROTO_SCTP = 132,
4972
SOCKETPOOL_IPPROTO_TCP = 6,
73+
SOCKETPOOL_IPPROTO_TP = 29,
74+
SOCKETPOOL_IPPROTO_UDP = 17,
75+
SOCKETPOOL_IPPROTO_UDPLITE = 136,
5076
} socketpool_socketpool_ipproto_t;
5177

5278
typedef enum {

0 commit comments

Comments
 (0)