16 #include "RTE_Components.h"
20 #define ntohl(v) (uint32_t)(v)
21 #define ntohs(v) (uint16_t)(v)
23 #define ntohl(v) (uint32_t)(__rev(v))
24 #define ntohs(v) (uint16_t)(__rev(v) >> 16)
26 #define htons(v) ntohs(v)
27 #define htonl(v) ntohl(v)
41 #define UDP_OPT_SEND_CHECKSUM 0x01
42 #define UDP_OPT_VERIFY_CHECKSUM 0x02
45 #define TCP_TYPE_SERVER 0x01
46 #define TCP_TYPE_CLIENT 0x02
47 #define TCP_TYPE_CLIENT_SERVER 0x03
48 #define TCP_TYPE_DELAY_ACK 0x04
49 #define TCP_TYPE_FLOW_CTRL 0x08
50 #define TCP_TYPE_KEEP_ALIVE 0x10
53 #define TCP_EVENT_CONREQ 0
54 #define TCP_EVENT_CONNECT 1
55 #define TCP_EVENT_CLOSE 2
56 #define TCP_EVENT_ABORT 3
57 #define TCP_EVENT_ACK 4
58 #define TCP_EVENT_DATA 5
61 #define TCP_STATE_FREE 0
62 #define TCP_STATE_CLOSED 1
63 #define TCP_STATE_LISTEN 2
64 #define TCP_STATE_SYN_REC 3
65 #define TCP_STATE_SYN_SENT 4
66 #define TCP_STATE_FINW1 5
67 #define TCP_STATE_FINW2 6
68 #define TCP_STATE_CLOSING 7
69 #define TCP_STATE_LAST_ACK 8
70 #define TCP_STATE_TWAIT 9
71 #define TCP_STATE_CONNECT 10
74 #ifdef RTE_Network_Socket_BSD
95 #define INADDR_ANY 0x00000000
96 #define INADDR_NONE 0xffffffff
100 #define BSD_ERROR (-1)
101 #define BSD_ERROR_SOCKET (-2)
102 #define BSD_ERROR_PARAMETER (-3)
103 #define BSD_ERROR_WOULDBLOCK (-4)
104 #define BSD_ERROR_NOMEMORY (-5)
105 #define BSD_ERROR_CLOSED (-6)
106 #define BSD_ERROR_LOCKED (-7)
107 #define BSD_ERROR_TIMEOUT (-8)
108 #define BSD_ERROR_INPROGRESS (-9)
109 #define BSD_ERROR_NONAME (-10)
112 #define MSG_DONTWAIT 0x01
113 #define MSG_PEEK 0x02
117 #define FIO_DELAY_ACK 2
118 #define FIO_KEEP_ALIVE 3
119 #define FIO_FLOW_CTRL 4
124 #define ICMP_EVENT_SUCCESS 0
125 #define ICMP_EVENT_TIMEOUT 1
128 #define DNS_CLIENT_EVENT_SUCCESS 0
129 #define DNS_CLIENT_EVENT_NONAME 1
130 #define DNS_CLIENT_EVENT_TIMEOUT 2
131 #define DNS_CLIENT_EVENT_ERROR 3
134 #define DNS_CLIENT_OK 0
135 #define DNS_CLIENT_ERROR_BUSY 1
136 #define DNS_CLIENT_ERROR_LABEL 2
137 #define DNS_CLIENT_ERROR_NAME 3
138 #define DNS_CLIENT_ERROR_NOSERVER 4
139 #define DNS_CLIENT_ERROR_PARAMETER 5
142 #define SMTP_CLIENT_EVENT_SUCCESS 0
143 #define SMTP_CLIENT_EVENT_TIMEOUT 1
144 #define SMTP_CLIENT_EVENT_ERROR 2
147 #define FTP_CLIENT_CMD_PUT 0
148 #define FTP_CLIENT_CMD_GET 1
149 #define FTP_CLIENT_CMD_APPEND 2
150 #define FTP_CLIENT_CMD_DELETE 3
151 #define FTP_CLIENT_CMD_LIST 4
152 #define FTP_CLIENT_CMD_RENAME 5
153 #define FTP_CLIENT_CMD_MKDIR 6
154 #define FTP_CLIENT_CMD_RMDIR 7
155 #define FTP_CLIENT_CMD_NLIST 8
158 #define FTP_CLIENT_EVENT_SUCCESS 0
159 #define FTP_CLIENT_EVENT_TIMEOUT 1
160 #define FTP_CLIENT_EVENT_LOGINFAIL 2
161 #define FTP_CLIENT_EVENT_NOACCESS 3
162 #define FTP_CLIENT_EVENT_NOTFOUND 4
163 #define FTP_CLIENT_EVENT_NOPATH 5
164 #define FTP_CLIENT_EVENT_ERRORLOCAL 6
165 #define FTP_CLIENT_EVENT_ERROR 7
168 #define TFTP_CLIENT_EVENT_SUCCESS 0
169 #define TFTP_CLIENT_EVENT_TIMEOUT 1
170 #define TFTP_CLIENT_EVENT_NOACCESS 2
171 #define TFTP_CLIENT_EVENT_NOTFOUND 3
172 #define TFTP_CLIENT_EVENT_DISKFULL 4
173 #define TFTP_CLIENT_EVENT_ERROR 5
176 #define FTP_SERVER_EVENT_LOGIN 0
177 #define FTP_SERVER_EVENT_LOGOUT 1
178 #define FTP_SERVER_EVENT_LOGINFAIL 2
179 #define FTP_SERVER_EVENT_DOWNLOAD 3
180 #define FTP_SERVER_EVENT_UPLOAD 4
181 #define FTP_SERVER_EVENT_DELETE 5
182 #define FTP_SERVER_EVENT_RENAME 6
183 #define FTP_SERVER_EVENT_MKDIR 7
184 #define FTP_SERVER_EVENT_RMDIR 8
185 #define FTP_SERVER_EVENT_ERRORLOCAL 9
186 #define FTP_SERVER_EVENT_DENIED 10
187 #define FTP_SERVER_EVENT_ERROR 11
190 #define ARP_TYPE_FIXED_IP 0
191 #define ARP_TYPE_TEMP_IP 1
194 #ifdef RTE_Network_Socket_BSD
263 uint16_t (*listener)(uint8_t
socket, uint8_t *remip, uint16_t port, uint8_t *buf, uint16_t len));
310 extern bool udp_send (uint8_t
socket, uint8_t *remip, uint16_t remport, uint8_t *buf, uint16_t dlen);
326 extern uint8_t
tcp_get_socket (uint8_t type, uint8_t tos, uint16_t tout,
327 uint16_t (*listener)(uint8_t
socket, uint8_t event, uint8_t *buf, uint16_t len));
354 extern bool tcp_connect (uint8_t
socket, uint8_t *remip, uint16_t remport, uint16_t locport);
396 extern bool tcp_send (uint8_t
socket, uint8_t *buf, uint16_t dlen);
424 extern bool arp_cache_ip (uint8_t *ipadr, uint8_t type);
437 extern void ppp_listen (
const char *user,
const char *passw);
444 extern void ppp_connect (
const char *dialnum,
const char *user,
const char *passw);
482 extern uint8_t
get_host_by_name (
const char *hostn,
void (*cbfunc)(uint8_t event, uint8_t *host_ip));
491 extern bool smtp_connect (uint8_t *ipadr, uint16_t port,
void (*cbfunc)(uint8_t event));
501 extern bool igmp_join (uint8_t *group_ip);
527 extern bool snmp_trap (uint8_t *manager_ip, uint8_t gen_trap, uint8_t spec_trap, uint16_t *obj_list);
542 extern bool icmp_ping (uint8_t *remip,
void (*cbfunc)(uint8_t event));
562 uint8_t command,
void (*cbfunc)(uint8_t event));
574 const char *src,
const char *dst,
void (*cbfunc)(uint8_t event));
586 const char *src,
const char *dst,
void (*cbfunc)(uint8_t event));
594 extern bool sntp_get_time (uint8_t *ipadr,
void (*cbfunc)(uint32_t utc_time));
614 #ifdef RTE_Network_Socket_BSD
630 extern int socket (
int family,
int type,
int protocol);
640 extern int bind (
int sock,
const SOCKADDR *addr,
int addrlen);
650 extern int listen (
int sock,
int backlog);
692 extern int send (
int sock,
const char *buf,
int len,
int flags);
712 extern int sendto (
int sock,
const char *buf,
int len,
int flags,
SOCKADDR *to,
int tolen);
729 extern int recv (
int sock,
char *buf,
int len,
int flags);
749 extern int recvfrom (
int sock,
char *buf,
int len,
int flags,
SOCKADDR *from,
int *fromlen);
793 extern int ioctlsocket (
int sock,
long cmd,
unsigned long *argp);