Real-Time Embedded Network Stack
| 1 | #include "rtnet_stack.h" |
| 2 | #include <string.h> |
| 3 | |
| 4 | static const RTNET_IPv6Addr_t LOCAL_IP = { .addr = {0xFE,0x80,0,0,0,0,0,0,0,0,0,0,0,0,0,2} }; |
| 5 | static const RTNET_MACAddr_t LOCAL_MAC = { .addr = {0x00,0xAA,0xBB,0xCC,0xDD,0xEE} }; |
| 6 | static const RTNET_IPv6Addr_t SERVER_IP = { .addr = {0x20,0x01,0x0D,0xB8,0,0,0,0,0,0,0,0,0,0,0,1} }; /* 2001:db8::1 */ |
| 7 | |
| 8 | int main(void) |
| 9 | { |
| 10 | RTNET_Initialize(&LOCAL_IP, &LOCAL_MAC); |
| 11 | RTNET_AddRoute(&SERVER_IP, 128U, NULL, 1U); /* direct for demo */ |
| 12 | |
| 13 | uint8_t conn_id; |
| 14 | if (RTNET_TCP_Connect(&SERVER_IP, 80U, &conn_id) == RTNET_OK) { |
| 15 | const uint8_t http_get[] = "GET / HTTP/1.1\r\nHost: demo\r\n\r\n"; |
| 16 | RTNET_TCP_Send(conn_id, http_get, (uint16_t)sizeof(http_get)); |
| 17 | RTNET_TCP_Close(conn_id); |
| 18 | } |
| 19 | |
| 20 | for (;;) { |
| 21 | RTNET_PeriodicTask(); |
| 22 | } |
| 23 | } |
| 24 |