Linux debugging
Check our new training course
Linux debugging, tracing, profiling & perf. analysis
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
/* * Copyright (c) 2018 Antmicro Ltd * * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_SUBSYS_NET_LIB_SOCKS_SOCKS_INTERNAL_H_ #define ZEPHYR_SUBSYS_NET_LIB_SOCKS_SOCKS_INTERNAL_H_ #define SOCKS5_PKT_MAGIC 0x05 #define SOCKS5_PKT_RSV 0x00 #define SOCKS5_AUTH_METHOD_NOAUTH 0x00 #define SOCKS5_AUTH_METHOD_GSSAPI 0x01 #define SOCKS5_AUTH_METHOD_USERPASS 0x02 #define SOCKS5_AUTH_METHOD_NONEG 0xFF #define SOCKS5_CMD_CONNECT 0x01 #define SOCKS5_CMD_BIND 0x02 #define SOCKS5_CMD_UDP_ASSOCIATE 0x03 #define SOCKS5_ATYP_IPV4 0x01 #define SOCKS5_ATYP_DOMAINNAME 0x03 #define SOCKS5_ATYP_IPV6 0x04 #define SOCKS5_CMD_RESP_SUCCESS 0x00 #define SOCKS5_CMD_RESP_FAILURE 0x01 #define SOCKS5_CMD_RESP_NOT_ALLOWED 0x02 #define SOCKS5_CMD_RESP_NET_UNREACHABLE 0x03 #define SOCKS5_CMD_RESP_HOST_UNREACHABLE 0x04 #define SOCKS5_CMD_RESP_REFUSED 0x05 #define SOCKS5_CMD_RESP_TTL_EXPIRED 0x06 #define SOCKS5_CMD_RESP_CMD_NOT_SUPPORTED 0x07 #define SOCKS5_CMD_RESP_ATYP_NOT_SUPPORTED 0x08 struct socks5_method_request_common { u8_t ver; u8_t nmethods; } __packed; struct socks5_method_request { struct socks5_method_request_common r; u8_t methods[255]; } __packed; struct socks5_method_response { u8_t ver; u8_t method; } __packed; struct socks5_ipv4_addr { u8_t addr[4]; u16_t port; } __packed; struct socks5_ipv6_addr { u8_t addr[16]; u16_t port; } __packed; struct socks5_command_request_common { u8_t ver; u8_t cmd; u8_t rsv; u8_t atyp; } __packed; struct socks5_command_request { struct socks5_command_request_common r; union { struct socks5_ipv4_addr ipv4_addr; struct socks5_ipv6_addr ipv6_addr; }; } __packed; struct socks5_command_response_common { u8_t ver; u8_t rep; u8_t rsv; u8_t atyp; } __packed; struct socks5_command_response { struct socks5_command_response_common r; union { struct socks5_ipv4_addr ipv4_addr; struct socks5_ipv6_addr ipv6_addr; }; } __packed; #endif /* ZEPHYR_SUBSYS_NET_LIB_SOCKS_SOCKS_INTERNAL_H_ */