9 |
10 | #include "http_server.h"
11 |
12 | #include "lwip/opt.h"
13 | #include "lwip/arch.h"
14 | #include "lwip/api.h"
15 |
16 | #include "cmsis_os.h"
17 | #define WEBSERVER_THREAD_PRIO ( tskIDLE_PRIORITY + 4 )
18 |
19 | static const char http_html_hdr[] = "HTTP/1.1 200 OK\r\nContent-type: text/html\r\n\r\n";
20 | static const char http_index_html[] = "Congrats!Welcome to our lwIP HTTP server!
This is a small test page, served by httpserver-netconn.";
21 |
22 | static const char http_404_hdr[] = "HTTP/1.1 404 ERROR\r\nContent-type: text/html\r\n\r\n";
23 | static const char http_404_html[] = "
ErrorLWIP Error
These are not the droids you're looking for";
24 |
25 |
26 | /** Serve one HTTP connection accepted in the http thread */
27 | static void http_server_netconn_serve(struct netconn *conn)
28 | {
29 | struct netbuf *inbuf;
30 | char *buf;
31 | u16_t buflen;
32 | err_t err;
33 |
34 | /* Read the data from the port, blocking if nothing yet there.
35 | We assume the request (the part we care about) is in one netbuf */
36 | err = netconn_recv(conn, &inbuf);
37 |
38 | if (err == ERR_OK)
39 | {
40 | netbuf_data(inbuf, (void**) &buf, &buflen);
41 |
42 | /* Is this an HTTP GET command? (only check the first 5 chars, since
43 | there are other formats for GET, and we're keeping it very simple )*/
44 | if(strncmp((char const *)buf,"GET /index.html ", 16) == 0)
45 | {
46 | /* Send the HTML header
47 | * subtract 1 from the size, since we dont send the \0 in the string
48 | * NETCONN_NOCOPY: our data is const static, so no need to copy it
49 | */
50 | netconn_write(conn, http_html_hdr, sizeof(http_html_hdr) - 1, NETCONN_NOCOPY);
51 |
52 | /* Send our HTML page */
53 | netconn_write(conn, http_index_html, sizeof(http_index_html) - 1, NETCONN_NOCOPY);
54 | }
55 | else
56 | {
57 | netconn_write(conn, http_404_hdr, sizeof(http_404_hdr) - 1, NETCONN_NOCOPY);
58 | netconn_write(conn, http_404_html, sizeof(http_404_html) - 1, NETCONN_NOCOPY);
59 | }
60 | }
61 | /* Close the connection (server closes in HTTP) */
62 | netconn_close(conn);
63 |
64 | /* Delete the buffer (netconn_recv gives us ownership,
65 | so we have to make sure to deallocate the buffer) */
66 | netbuf_delete(inbuf);
67 | }
68 |
69 |
70 | /** The main function, never returns! */
71 | static void http_server_netconn_thread(void *arg)
72 | {
73 | struct netconn *conn, *newconn;
74 | err_t err;
75 | LWIP_UNUSED_ARG(arg);
76 |
77 | /* Create a new TCP connection handle */
78 | /* Bind to port 80 (HTTP) with default IP address */
79 | conn = netconn_new(NETCONN_TCP);
80 | netconn_bind(conn, IP_ADDR_ANY, 80);
81 | LWIP_ERROR("http_server: invalid conn", (conn != NULL), return;);
82 |
83 | /* Put the connection into LISTEN state */
84 | netconn_listen(conn);
85 |
86 | do
87 | {
88 | err = netconn_accept(conn, &newconn);
89 | if (err == ERR_OK)
90 | {
91 | http_server_netconn_serve(newconn);
92 | netconn_delete(newconn);
93 | }
94 | } while (err == ERR_OK);
95 |
96 | LWIP_DEBUGF(HTTPD_DEBUG, ("http_server_netconn_thread: netconn_accept received error %d, shutting down", err));
97 | netconn_close(conn);
98 | netconn_delete(conn);
99 | }
100 |
101 |
102 | /** Initialize the HTTP server (start its thread) */
103 | void http_server_netconn_init(void)
104 | {
105 | sys_thread_new("http_server_netconn", http_server_netconn_thread, NULL, DEFAULT_THREAD_STACKSIZE, WEBSERVER_THREAD_PRIO);
106 | }
107 |
--------------------------------------------------------------------------------
/CM7/Core/Src/stm32h7xx_hal_msp.c:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * File Name : stm32h7xx_hal_msp.c
5 | * Description : This file provides code for the MSP Initialization
6 | * and de-Initialization codes.
7 | ******************************************************************************
8 | * @attention
9 | *
10 | *
© Copyright (c) 2020 STMicroelectronics.
11 | * All rights reserved.
12 | *
13 | * This software component is licensed by ST under BSD 3-Clause license,
14 | * the "License"; You may not use this file except in compliance with the
15 | * License. You may obtain a copy of the License at:
16 | * opensource.org/licenses/BSD-3-Clause
17 | *
18 | ******************************************************************************
19 | */
20 | /* USER CODE END Header */
21 |
22 | /* Includes ------------------------------------------------------------------*/
23 | #include "main.h"
24 | /* USER CODE BEGIN Includes */
25 |
26 | /* USER CODE END Includes */
27 |
28 | /* Private typedef -----------------------------------------------------------*/
29 | /* USER CODE BEGIN TD */
30 |
31 | /* USER CODE END TD */
32 |
33 | /* Private define ------------------------------------------------------------*/
34 | /* USER CODE BEGIN Define */
35 |
36 | /* USER CODE END Define */
37 |
38 | /* Private macro -------------------------------------------------------------*/
39 | /* USER CODE BEGIN Macro */
40 |
41 | /* USER CODE END Macro */
42 |
43 | /* Private variables ---------------------------------------------------------*/
44 | /* USER CODE BEGIN PV */
45 |
46 | /* USER CODE END PV */
47 |
48 | /* Private function prototypes -----------------------------------------------*/
49 | /* USER CODE BEGIN PFP */
50 |
51 | /* USER CODE END PFP */
52 |
53 | /* External functions --------------------------------------------------------*/
54 | /* USER CODE BEGIN ExternalFunctions */
55 |
56 | /* USER CODE END ExternalFunctions */
57 |
58 | /* USER CODE BEGIN 0 */
59 |
60 | /* USER CODE END 0 */
61 | /**
62 | * Initializes the Global MSP.
63 | */
64 | void HAL_MspInit(void)
65 | {
66 | /* USER CODE BEGIN MspInit 0 */
67 |
68 | /* USER CODE END MspInit 0 */
69 |
70 | __HAL_RCC_SYSCFG_CLK_ENABLE();
71 |
72 | /* System interrupt init*/
73 | /* PendSV_IRQn interrupt configuration */
74 | HAL_NVIC_SetPriority(PendSV_IRQn, 15, 0);
75 |
76 | /* USER CODE BEGIN MspInit 1 */
77 |
78 | /* USER CODE END MspInit 1 */
79 | }
80 |
81 | /* USER CODE BEGIN 1 */
82 |
83 | /* USER CODE END 1 */
84 |
85 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
86 |
--------------------------------------------------------------------------------
/CM7/Core/Src/syscalls.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file syscalls.c
4 | * @author Auto-generated by STM32CubeIDE
5 | * @brief STM32CubeIDE Minimal System calls file
6 | *
7 | * For more information about which c-functions
8 | * need which of these lowlevel functions
9 | * please consult the Newlib libc-manual
10 | ******************************************************************************
11 | * @attention
12 | *
13 | * © Copyright (c) 2020 STMicroelectronics.
14 | * All rights reserved.
15 | *
16 | * This software component is licensed by ST under BSD 3-Clause license,
17 | * the "License"; You may not use this file except in compliance with the
18 | * License. You may obtain a copy of the License at:
19 | * opensource.org/licenses/BSD-3-Clause
20 | *
21 | ******************************************************************************
22 | */
23 |
24 | /* Includes */
25 | #include
26 | #include
27 | #include
28 | #include
29 | #include
30 | #include
31 | #include
32 | #include
33 |
34 |
35 | /* Variables */
36 | //#undef errno
37 | extern int errno;
38 | extern int __io_putchar(int ch) __attribute__((weak));
39 | extern int __io_getchar(void) __attribute__((weak));
40 |
41 | register char * stack_ptr asm("sp");
42 |
43 | char *__env[1] = { 0 };
44 | char **environ = __env;
45 |
46 |
47 | /* Functions */
48 | void initialise_monitor_handles()
49 | {
50 | }
51 |
52 | int _getpid(void)
53 | {
54 | return 1;
55 | }
56 |
57 | int _kill(int pid, int sig)
58 | {
59 | errno = EINVAL;
60 | return -1;
61 | }
62 |
63 | void _exit (int status)
64 | {
65 | _kill(status, -1);
66 | while (1) {} /* Make sure we hang here */
67 | }
68 |
69 | __attribute__((weak)) int _read(int file, char *ptr, int len)
70 | {
71 | int DataIdx;
72 |
73 | for (DataIdx = 0; DataIdx < len; DataIdx++)
74 | {
75 | *ptr++ = __io_getchar();
76 | }
77 |
78 | return len;
79 | }
80 |
81 | __attribute__((weak)) int _write(int file, char *ptr, int len)
82 | {
83 | int DataIdx;
84 |
85 | for (DataIdx = 0; DataIdx < len; DataIdx++)
86 | {
87 | __io_putchar(*ptr++);
88 | }
89 | return len;
90 | }
91 |
92 | int _close(int file)
93 | {
94 | return -1;
95 | }
96 |
97 |
98 | int _fstat(int file, struct stat *st)
99 | {
100 | st->st_mode = S_IFCHR;
101 | return 0;
102 | }
103 |
104 | int _isatty(int file)
105 | {
106 | return 1;
107 | }
108 |
109 | int _lseek(int file, int ptr, int dir)
110 | {
111 | return 0;
112 | }
113 |
114 | int _open(char *path, int flags, ...)
115 | {
116 | /* Pretend like we always fail */
117 | return -1;
118 | }
119 |
120 | int _wait(int *status)
121 | {
122 | errno = ECHILD;
123 | return -1;
124 | }
125 |
126 | int _unlink(char *name)
127 | {
128 | errno = ENOENT;
129 | return -1;
130 | }
131 |
132 | int _times(struct tms *buf)
133 | {
134 | return -1;
135 | }
136 |
137 | int _stat(char *file, struct stat *st)
138 | {
139 | st->st_mode = S_IFCHR;
140 | return 0;
141 | }
142 |
143 | int _link(char *old, char *new)
144 | {
145 | errno = EMLINK;
146 | return -1;
147 | }
148 |
149 | int _fork(void)
150 | {
151 | errno = EAGAIN;
152 | return -1;
153 | }
154 |
155 | int _execve(char *name, char **argv, char **env)
156 | {
157 | errno = ENOMEM;
158 | return -1;
159 | }
160 |
--------------------------------------------------------------------------------
/CM7/Core/Src/sysmem.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file sysmem.c
4 | * @author Auto-generated by STM32CubeIDE
5 | * @brief STM32CubeIDE Minimal System Memory calls file
6 | *
7 | * For more information about which c-functions
8 | * need which of these lowlevel functions
9 | * please consult the Newlib libc-manual
10 | ******************************************************************************
11 | * @attention
12 | *
13 | * © Copyright (c) 2020 STMicroelectronics.
14 | * All rights reserved.
15 | *
16 | * This software component is licensed by ST under BSD 3-Clause license,
17 | * the "License"; You may not use this file except in compliance with the
18 | * License. You may obtain a copy of the License at:
19 | * opensource.org/licenses/BSD-3-Clause
20 | *
21 | ******************************************************************************
22 | */
23 |
24 | /* Includes */
25 | #include
26 | #include
27 |
28 | /* Variables */
29 | extern int errno;
30 | register char * stack_ptr asm("sp");
31 |
32 | /* Functions */
33 |
34 | /**
35 | _sbrk
36 | Increase program data space. Malloc and related functions depend on this
37 | **/
38 | caddr_t _sbrk(int incr)
39 | {
40 | extern char end asm("end");
41 | static char *heap_end;
42 | char *prev_heap_end;
43 |
44 | if (heap_end == 0)
45 | heap_end = &end;
46 |
47 | prev_heap_end = heap_end;
48 | if (heap_end + incr > stack_ptr)
49 | {
50 | errno = ENOMEM;
51 | return (caddr_t) -1;
52 | }
53 |
54 | heap_end += incr;
55 |
56 | return (caddr_t) prev_heap_end;
57 | }
58 |
59 |
--------------------------------------------------------------------------------
/CM7/Core/Src/tim.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : TIM.c
4 | * Description : This file provides code for the configuration
5 | * of the TIM instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2020 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Includes ------------------------------------------------------------------*/
21 | #include "tim.h"
22 |
23 | /* USER CODE BEGIN 0 */
24 |
25 | /* USER CODE END 0 */
26 |
27 | TIM_HandleTypeDef htim13;
28 |
29 | /* TIM13 init function */
30 | void MX_TIM13_Init(void)
31 | {
32 |
33 | htim13.Instance = TIM13;
34 | htim13.Init.Prescaler = 599;
35 | htim13.Init.CounterMode = TIM_COUNTERMODE_UP;
36 | htim13.Init.Period = 62499;
37 | htim13.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
38 | htim13.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
39 | if (HAL_TIM_Base_Init(&htim13) != HAL_OK)
40 | {
41 | Error_Handler();
42 | }
43 |
44 | }
45 |
46 | void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
47 | {
48 |
49 | if(tim_baseHandle->Instance==TIM13)
50 | {
51 | /* USER CODE BEGIN TIM13_MspInit 0 */
52 |
53 | /* USER CODE END TIM13_MspInit 0 */
54 | /* TIM13 clock enable */
55 | __HAL_RCC_TIM13_CLK_ENABLE();
56 |
57 | /* TIM13 interrupt Init */
58 | HAL_NVIC_SetPriority(TIM8_UP_TIM13_IRQn, 5, 0);
59 | HAL_NVIC_EnableIRQ(TIM8_UP_TIM13_IRQn);
60 | /* USER CODE BEGIN TIM13_MspInit 1 */
61 |
62 | /* USER CODE END TIM13_MspInit 1 */
63 | }
64 | }
65 |
66 | void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
67 | {
68 |
69 | if(tim_baseHandle->Instance==TIM13)
70 | {
71 | /* USER CODE BEGIN TIM13_MspDeInit 0 */
72 |
73 | /* USER CODE END TIM13_MspDeInit 0 */
74 | /* Peripheral clock disable */
75 | __HAL_RCC_TIM13_CLK_DISABLE();
76 |
77 | /* TIM13 interrupt Deinit */
78 | HAL_NVIC_DisableIRQ(TIM8_UP_TIM13_IRQn);
79 | /* USER CODE BEGIN TIM13_MspDeInit 1 */
80 |
81 | /* USER CODE END TIM13_MspDeInit 1 */
82 | }
83 | }
84 |
85 | /* USER CODE BEGIN 1 */
86 |
87 | /* USER CODE END 1 */
88 |
89 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
90 |
--------------------------------------------------------------------------------
/CM7/LWIP/App/lwip.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : LWIP.h
4 | * Description : This file provides code for the configuration
5 | * of the LWIP.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2020 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | *************************************************************************
18 |
19 | */
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __mx_lwip_H
22 | #define __mx_lwip_H
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | /* Includes ------------------------------------------------------------------*/
28 | #include "lwip/opt.h"
29 | #include "lwip/mem.h"
30 | #include "lwip/memp.h"
31 | #include "netif/etharp.h"
32 | #include "lwip/dhcp.h"
33 | #include "lwip/netif.h"
34 | #include "lwip/timeouts.h"
35 | #include "ethernetif.h"
36 |
37 | /* Includes for RTOS ---------------------------------------------------------*/
38 | #if WITH_RTOS
39 | #include "lwip/tcpip.h"
40 | #endif /* WITH_RTOS */
41 |
42 | /* USER CODE BEGIN 0 */
43 |
44 | /* USER CODE END 0 */
45 |
46 | /* Global Variables ----------------------------------------------------------*/
47 | extern ETH_HandleTypeDef heth;
48 |
49 | /* LWIP init function */
50 | void MX_LWIP_Init(void);
51 |
52 | #if !WITH_RTOS
53 | /* USER CODE BEGIN 1 */
54 | /* Function defined in lwip.c to:
55 | * - Read a received packet from the Ethernet buffers
56 | * - Send it to the lwIP stack for handling
57 | * - Handle timeouts if NO_SYS_NO_TIMERS not set
58 | */
59 | void MX_LWIP_Process(void);
60 |
61 | /* USER CODE END 1 */
62 | #endif /* WITH_RTOS */
63 |
64 | #ifdef __cplusplus
65 | }
66 | #endif
67 | #endif /*__ mx_lwip_H */
68 |
69 | /**
70 | * @}
71 | */
72 |
73 | /**
74 | * @}
75 | */
76 |
77 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
78 |
--------------------------------------------------------------------------------
/CM7/LWIP/Target/ethernetif.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : ethernetif.h
4 | * Description : This file provides initialization code for LWIP
5 | * middleWare.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2020 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 |
20 |
21 | #ifndef __ETHERNETIF_H__
22 | #define __ETHERNETIF_H__
23 |
24 | #include "lwip/err.h"
25 | #include "lwip/netif.h"
26 | #include "cmsis_os.h"
27 |
28 | /* Within 'USER CODE' section, code will be kept by default at each generation */
29 | /* USER CODE BEGIN 0 */
30 |
31 | /* USER CODE END 0 */
32 |
33 | /* Exported functions ------------------------------------------------------- */
34 | err_t ethernetif_init(struct netif *netif);
35 |
36 | void ethernetif_input(void const * argument);
37 | void ethernet_link_thread(void const * argument);
38 |
39 | u32_t sys_jiffies(void);
40 | u32_t sys_now(void);
41 |
42 | /* USER CODE BEGIN 1 */
43 |
44 | /* USER CODE END 1 */
45 | #endif
46 |
47 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
48 |
--------------------------------------------------------------------------------
/Documentation/assign_ip.md:
--------------------------------------------------------------------------------
1 | ## Static fallback IP
2 |
3 | There are 2 use cases:
4 |
5 | 1. Connecting to the STM32H745 through a router
6 | 2. Directly connecting to STM32H745
7 |
8 | In scenario 1, assigning IP is done using DHCP. Scenario 2 uses a static fallback IP.
9 |
10 | ### Implementation
11 | The implementation builds on [`dhcp_nocable.md`](dhcp_nocable.md). Please not that `netifapi_xxx` functions are used. While note completely necessary; they are used, since they were specifically designed for use with a RTOS.
12 |
13 | The current implementation uses LWIP v2.0. However, the functions `netifapi_dhcp_release` and `netifapi_dhcp_stop` are depricated in v2.1 and should be replaced with `netifapi_dhcp_release_and_stop`.
14 |
15 | ```c
16 | #define LWIP_NETIF_API 1
17 | ```
18 |
19 | ```c
20 | #include "lwip/netifapi.h"
21 |
22 | static void ethernet_link_status_updated(struct netif *netif)
23 | {
24 | if (netif_is_up(netif))
25 | {
26 | /* USER CODE BEGIN 5 */
27 |
28 | // Do we have an IP?
29 | if(netif->ip_addr.addr != 0)
30 | {
31 | return;
32 | }
33 |
34 | // if not, let's check again after 2 seconds
35 | osDelay(2000);
36 |
37 | // Do we have an IP?
38 | if(netif->ip_addr.addr != 0)
39 | {
40 | return;
41 | }
42 |
43 | // no IP? Restart DHCP client
44 | // use netifapi_dhcp_release_and_stop in v2.1+
45 | netifapi_dhcp_release(netif); // dhcp_release(netif);
46 | netifapi_dhcp_stop(netif); // dhcp_stop(netif);
47 | osDelay(2000);
48 | netifapi_dhcp_start(netif);
49 | osDelay(2000);
50 |
51 | // Did DHCP work this time?
52 | if(netif->ip_addr.addr != 0)
53 | {
54 | return;
55 | }
56 |
57 | // if not; stop DHCP
58 | // use netifapi_dhcp_release_and_stop in v2.1+
59 | netifapi_dhcp_release(netif); // dhcp_release(netif);
60 | netifapi_dhcp_stop(netif); // dhcp_stop(netif);
61 | osDelay(1000);
62 | netif_set_down(netif);
63 | osDelay(3000);
64 |
65 | // set static IP address
66 | IP4_ADDR(&ipaddr, 192, 168, 1, 3);
67 | IP4_ADDR(&netmask, 255, 255, 255, 0);
68 | IP4_ADDR(&gw, 192, 168, 1, 1);
69 |
70 | netifapi_netif_set_addr(&gnetif, &ipaddr, &netmask, &gw);
71 |
72 | /* USER CODE END 5 */
73 | }
74 | else /* netif is down */
75 | {
76 | /* USER CODE BEGIN 6 */
77 |
78 | // ethernet cable disconnected
79 | // release IP
80 | ipaddr.addr = 0;
81 | netmask.addr = 0;
82 | gw.addr = 0;
83 | netifapi_netif_set_addr(&gnetif, &ipaddr, &netmask, &gw);
84 |
85 | /* USER CODE END 6 */
86 | }
87 | }
88 | ```
89 |
90 |
91 |
92 | ### Requirements
93 | In order for scenario 2 to work, a static IP is required on the laptop/PC. To do this, enter the settings below. More information here https://www.howtogeek.com/howto/19249/how-to-assign-a-static-ip-address-in-xp-vista-or-windows-7/
94 |
95 | 
--------------------------------------------------------------------------------
/Documentation/dhcp_nocable.md:
--------------------------------------------------------------------------------
1 | ## DHCP Not assigning IP when starting without ethernet cable
2 |
3 | WHen there's an ethernet cable connected to the board on boot, and there is a DHCP server on the other end, an IP is automatically assigned to the MCU.
4 |
5 | The problem occurs when the MCU boots without an ethernet cable. When an ethernet cable is connected after the system is fully running, the DHCP assigns an IP of 0.0.0.0. To fix this, restart the DHCP client process in the `link_callback` function.
6 |
7 | ### 1. Enable link_callback
8 | ```c
9 | #define LWIP_NETIF_LINK_CALLBACK 1
10 | ```
11 |
12 | ### 2. Modify the link callback function
13 |
14 | ```c
15 | static void ethernet_link_status_updated(struct netif *netif)
16 | {
17 | if (netif_is_up(netif))
18 | {
19 | /* USER CODE BEGIN 5 */
20 |
21 | // Do we have an IP?
22 | if(netif->ip_addr.addr != 0)
23 | {
24 | return;
25 | }
26 |
27 | // if not, let's check again after 2 seconds
28 | osDelay(2000);
29 |
30 | // Do we have an IP?
31 | if(netif->ip_addr.addr != 0)
32 | {
33 | return;
34 | }
35 |
36 | // no IP? Restart DHCP client
37 | dhcp_release(netif);
38 | osDelay(1000);
39 | dhcp_stop(netif);
40 | osDelay(1000);
41 | dhcp_start(netif);
42 |
43 | /* USER CODE END 5 */
44 | }
45 | else /* netif is down */
46 | {
47 | /* USER CODE BEGIN 6 */
48 |
49 | // ethernet cable disconnected
50 |
51 | /* USER CODE END 6 */
52 | }
53 | }
54 | ```
--------------------------------------------------------------------------------
/Documentation/images/asm_inf_loop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AnielShri/STM32H745_Ethernet/0e59738272c768bdd84d0326a95c64dcc22f46fa/Documentation/images/asm_inf_loop.png
--------------------------------------------------------------------------------
/Documentation/images/driver_phy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AnielShri/STM32H745_Ethernet/0e59738272c768bdd84d0326a95c64dcc22f46fa/Documentation/images/driver_phy.png
--------------------------------------------------------------------------------
/Documentation/images/eth_isr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AnielShri/STM32H745_Ethernet/0e59738272c768bdd84d0326a95c64dcc22f46fa/Documentation/images/eth_isr.png
--------------------------------------------------------------------------------
/Documentation/images/link_callback.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AnielShri/STM32H745_Ethernet/0e59738272c768bdd84d0326a95c64dcc22f46fa/Documentation/images/link_callback.png
--------------------------------------------------------------------------------
/Documentation/images/mpu_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AnielShri/STM32H745_Ethernet/0e59738272c768bdd84d0326a95c64dcc22f46fa/Documentation/images/mpu_settings.png
--------------------------------------------------------------------------------
/Documentation/images/rtos_stack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AnielShri/STM32H745_Ethernet/0e59738272c768bdd84d0326a95c64dcc22f46fa/Documentation/images/rtos_stack.png
--------------------------------------------------------------------------------
/Documentation/images/static_ip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AnielShri/STM32H745_Ethernet/0e59738272c768bdd84d0326a95c64dcc22f46fa/Documentation/images/static_ip.png
--------------------------------------------------------------------------------
/Documentation/images/systick_generation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AnielShri/STM32H745_Ethernet/0e59738272c768bdd84d0326a95c64dcc22f46fa/Documentation/images/systick_generation.png
--------------------------------------------------------------------------------
/Documentation/lwip_nortos.md:
--------------------------------------------------------------------------------
1 |
2 | ## LWIP without FreeRTOS
3 |
4 | ---
5 |
6 | References:
7 | * [LwIP_HTTP_Server_Netconn_RTOS](https://github.com/STMicroelectronics/STM32CubeH7/tree/master/Projects/NUCLEO-H743ZI/Applications/LwIP/LwIP_HTTP_Server_Netconn_RTOS)
8 | * [How to create project for STM32H7 with Ethernet and LwIP stack working](https://community.st.com/s/article/How-to-create-project-for-STM32H7-with-Ethernet-and-LwIP-stack-working)
9 | * [HowardWhile / 2020_note](https://translate.google.com/translate?sl=zh-CN&tl=en&u=https%3A%2F%2Fgithub.com%2FHowardWhile%2F2020_note%2Fwiki%2FSTM32)
10 |
11 | ---
12 |
13 | These settings are based on the linked references, so take them with a grain of salt.
14 |
15 | 1. Enable the M7 D-Cache (and optionally the L-Cache)
16 | 2. Enable the MPU and add the 2 regions as depiced below
17 | 
18 |
19 | 3. Enable LWIP (for the M7)
20 | 4. Select a PHY driver (LAN8742 for the Nucleo)
21 | 
22 |
23 | 5. Optionally enable LWIP_NETIF_LINK_CALLBACK
24 | 
25 |
26 | 6. Modify the [STM32H745ZITX_FLASH.ld](../CM7/STM32H745ZITX_FLASH.ld) linker script
27 | * set `_estack _estack = 0x24080000`
28 | * set memory areas
29 | * replace `RAM` with `RAM_D1`
30 | * add `.lwip_sec`
31 |
32 | ```c
33 | /* Specify the memory areas */
34 | MEMORY
35 | {
36 | FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K
37 | DTCMRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
38 | RAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = 512K
39 | RAM1_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 128K
40 | RAM2_D2 (xrw) : ORIGIN = 0x30020000, LENGTH = 128K
41 | RAM3_D2 (xrw) : ORIGIN = 0x30040000, LENGTH = 32K
42 | RAM4_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K
43 | ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K
44 | }
45 | ```
46 | ```c
47 | .lwip_sec (NOLOAD) : {
48 | . = ABSOLUTE(0x30040000);
49 | *(.RxDecripSection)
50 |
51 | . = ABSOLUTE(0x30040060);
52 | *(.TxDecripSection)
53 |
54 | . = ABSOLUTE(0x30040200);
55 | *(.RxArraySection)
56 | } >RAM3_D2 AT> FLASH
57 | ```
58 |
59 | 7. Add `SCB_CleanInvalidateDCache();` in M7's [main.c](../CM7/Core/Src/main.c)
60 | ```c
61 | /* USER CODE BEGIN 2 */
62 |
63 | SCB_CleanInvalidateDCache();
64 |
65 | /* USER CODE END 2 */
66 | ```
67 |
68 | 8. Add `MX_LWIP_Process ();` to the infinite while loop in M7's [main.c](../CM7/Core/Src/main.c)
69 |
70 | ```c
71 | /* Infinite loop */
72 | /* USER CODE BEGIN WHILE */
73 | while (1)
74 | {
75 | /* USER CODE END WHILE */
76 |
77 | /* USER CODE BEGIN 3 */
78 | MX_LWIP_Process ();
79 | }
80 | /* USER CODE END 3 */
81 | ```
82 |
83 | 9. Build and compile. There *should* now be a new IP listed on the network (using DHCP)
84 |
--------------------------------------------------------------------------------
/Documentation/lwip_rtos.md:
--------------------------------------------------------------------------------
1 | ## LWIP with RTOS
2 |
3 | Follow steps 1-9 listed in above in [LWIP without FreeRTOS](lwip_nortos.md). Continue with the steps listed below.
4 |
5 | 10. Select CMSIS_V1 in FreeRTOS_M7 and increase the stack size to 256 words
6 | 
7 |
8 | 11. Enable the *ETH* global interupt
9 | 
10 |
11 | 12. Build and compile. There *should* once again be a new IP listed on the network (using DHCP)
--------------------------------------------------------------------------------
/Documentation/no_systick.md:
--------------------------------------------------------------------------------
1 | ## Issue: SysTick not counting
2 | For some reason the SysTick counter is not automatically added. This causes either infinit wait loops when calling HAL_Delay (and related function), or causes startup error (see image below)
3 |
4 | 
5 |
6 | To fix this, either add this piece of code:
7 |
8 | ```c
9 | /**
10 | * @brief This function handles System tick timer.
11 | */
12 | void SysTick_Handler(void)
13 | {
14 | /* USER CODE BEGIN SysTick_IRQn 0 */
15 |
16 | /* USER CODE END SysTick_IRQn 0 */
17 | HAL_IncTick();
18 | /* USER CODE BEGIN SysTick_IRQn 1 */
19 |
20 | /* USER CODE END SysTick_IRQn 1 */
21 | }
22 | ```
23 |
24 | Or enable SysTick generation:
25 | 
26 |
27 | **Note**: If the SysTick checkbox is greyed out, try selecting another TIM. TIM1, TIM2 and TIM3 usually work.
--------------------------------------------------------------------------------
/Documentation/unique_mac.md:
--------------------------------------------------------------------------------
1 | ## Generate (pseudo)unique mac address
2 |
3 | STM32 MCUs have a 96-bit unique id (literally called UID). This can be used to generate a unique ethernet MAC. Keep in mind that, since only 3-Bytes (or 25%) of the UID is used. This increases the likelyhood of multiple MCUs having the same MAC address. For most practical applications this should not be an issue.
4 |
5 | ### Instructions:
6 | Edid `low_level_init` in [`ethernetif.c`](../CM7/LWIP/Target/ethernetif.c) and add the following code before `HAL_ETH_Init`.
7 |
8 | ```c
9 | /* USER CODE BEGIN MACADDRESS */
10 |
11 | uint32_t id0 = HAL_GetUIDw0();
12 |
13 | uint8_t mac[6];
14 |
15 | // first 3 bytes are ST specific max prefixes
16 | mac[0] = 0x00;
17 | mac[1] = 0x80;
18 | mac[2] = 0xE1;
19 |
20 | // last 3 bytes are used to set unique mac based on UID
21 | mac[3] = (id0 >> 16) & 0x000000FF;
22 | mac[4] = (id0 >> 8) & 0x000000FF;
23 | mac[5] = (id0 >> 0) & 0x000000FF;
24 |
25 | heth.Init.MACAddr = &mac[0];
26 |
27 | /* USER CODE END MACADDRESS */
28 | ```
29 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AnielShri/STM32H745_Ethernet/0e59738272c768bdd84d0326a95c64dcc22f46fa/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file system_stm32h7xx.h
4 | * @author MCD Application Team
5 | * @brief CMSIS Cortex-Mx Device System Source File for STM32H7xx devices.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2017 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /** @addtogroup CMSIS
21 | * @{
22 | */
23 |
24 | /** @addtogroup stm32h7xx_system
25 | * @{
26 | */
27 |
28 | /**
29 | * @brief Define to prevent recursive inclusion
30 | */
31 | #ifndef SYSTEM_STM32H7XX_H
32 | #define SYSTEM_STM32H7XX_H
33 |
34 | #ifdef __cplusplus
35 | extern "C" {
36 | #endif
37 |
38 | /** @addtogroup STM32H7xx_System_Includes
39 | * @{
40 | */
41 |
42 | /**
43 | * @}
44 | */
45 |
46 |
47 | /** @addtogroup STM32H7xx_System_Exported_types
48 | * @{
49 | */
50 | /* This variable is updated in three ways:
51 | 1) by calling CMSIS function SystemCoreClockUpdate()
52 | 2) by calling HAL API function HAL_RCC_GetSysClockFreq()
53 | 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
54 | Note: If you use this function to configure the system clock; then there
55 | is no need to call the 2 first functions listed above, since SystemCoreClock
56 | variable is updated automatically.
57 | */
58 | extern uint32_t SystemCoreClock; /*!< System Domain1 Clock Frequency */
59 | extern uint32_t SystemD2Clock; /*!< System Domain2 Clock Frequency */
60 | extern const uint8_t D1CorePrescTable[16] ; /*!< D1CorePrescTable prescalers table values */
61 |
62 | /**
63 | * @}
64 | */
65 |
66 | /** @addtogroup STM32H7xx_System_Exported_Constants
67 | * @{
68 | */
69 |
70 | /**
71 | * @}
72 | */
73 |
74 | /** @addtogroup STM32H7xx_System_Exported_Macros
75 | * @{
76 | */
77 |
78 | /**
79 | * @}
80 | */
81 |
82 | /** @addtogroup STM32H7xx_System_Exported_Functions
83 | * @{
84 | */
85 |
86 | extern void SystemInit(void);
87 | extern void SystemCoreClockUpdate(void);
88 | /**
89 | * @}
90 | */
91 |
92 | #ifdef __cplusplus
93 | }
94 | #endif
95 |
96 | #endif /* SYSTEM_STM32H7XX_H */
97 |
98 | /**
99 | * @}
100 | */
101 |
102 | /**
103 | * @}
104 | */
105 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
106 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Include/cmsis_version.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************//**
2 | * @file cmsis_version.h
3 | * @brief CMSIS Core(M) Version definitions
4 | * @version V5.0.2
5 | * @date 19. April 2017
6 | ******************************************************************************/
7 | /*
8 | * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
9 | *
10 | * SPDX-License-Identifier: Apache-2.0
11 | *
12 | * Licensed under the Apache License, Version 2.0 (the License); you may
13 | * not use this file except in compliance with the License.
14 | * You may obtain a copy of the License at
15 | *
16 | * www.apache.org/licenses/LICENSE-2.0
17 | *
18 | * Unless required by applicable law or agreed to in writing, software
19 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 | * See the License for the specific language governing permissions and
22 | * limitations under the License.
23 | */
24 |
25 | #if defined ( __ICCARM__ )
26 | #pragma system_include /* treat file as system include file for MISRA check */
27 | #elif defined (__clang__)
28 | #pragma clang system_header /* treat file as system include file */
29 | #endif
30 |
31 | #ifndef __CMSIS_VERSION_H
32 | #define __CMSIS_VERSION_H
33 |
34 | /* CMSIS Version definitions */
35 | #define __CM_CMSIS_VERSION_MAIN ( 5U) /*!< [31:16] CMSIS Core(M) main version */
36 | #define __CM_CMSIS_VERSION_SUB ( 1U) /*!< [15:0] CMSIS Core(M) sub version */
37 | #define __CM_CMSIS_VERSION ((__CM_CMSIS_VERSION_MAIN << 16U) | \
38 | __CM_CMSIS_VERSION_SUB ) /*!< CMSIS Core(M) version number */
39 | #endif
40 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Include/tz_context.h:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * @file tz_context.h
3 | * @brief Context Management for Armv8-M TrustZone
4 | * @version V1.0.1
5 | * @date 10. January 2018
6 | ******************************************************************************/
7 | /*
8 | * Copyright (c) 2017-2018 Arm Limited. All rights reserved.
9 | *
10 | * SPDX-License-Identifier: Apache-2.0
11 | *
12 | * Licensed under the Apache License, Version 2.0 (the License); you may
13 | * not use this file except in compliance with the License.
14 | * You may obtain a copy of the License at
15 | *
16 | * www.apache.org/licenses/LICENSE-2.0
17 | *
18 | * Unless required by applicable law or agreed to in writing, software
19 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 | * See the License for the specific language governing permissions and
22 | * limitations under the License.
23 | */
24 |
25 | #if defined ( __ICCARM__ )
26 | #pragma system_include /* treat file as system include file for MISRA check */
27 | #elif defined (__clang__)
28 | #pragma clang system_header /* treat file as system include file */
29 | #endif
30 |
31 | #ifndef TZ_CONTEXT_H
32 | #define TZ_CONTEXT_H
33 |
34 | #include
35 |
36 | #ifndef TZ_MODULEID_T
37 | #define TZ_MODULEID_T
38 | /// \details Data type that identifies secure software modules called by a process.
39 | typedef uint32_t TZ_ModuleId_t;
40 | #endif
41 |
42 | /// \details TZ Memory ID identifies an allocated memory slot.
43 | typedef uint32_t TZ_MemoryId_t;
44 |
45 | /// Initialize secure context memory system
46 | /// \return execution status (1: success, 0: error)
47 | uint32_t TZ_InitContextSystem_S (void);
48 |
49 | /// Allocate context memory for calling secure software modules in TrustZone
50 | /// \param[in] module identifies software modules called from non-secure mode
51 | /// \return value != 0 id TrustZone memory slot identifier
52 | /// \return value 0 no memory available or internal error
53 | TZ_MemoryId_t TZ_AllocModuleContext_S (TZ_ModuleId_t module);
54 |
55 | /// Free context memory that was previously allocated with \ref TZ_AllocModuleContext_S
56 | /// \param[in] id TrustZone memory slot identifier
57 | /// \return execution status (1: success, 0: error)
58 | uint32_t TZ_FreeModuleContext_S (TZ_MemoryId_t id);
59 |
60 | /// Load secure context (called on RTOS thread context switch)
61 | /// \param[in] id TrustZone memory slot identifier
62 | /// \return execution status (1: success, 0: error)
63 | uint32_t TZ_LoadContext_S (TZ_MemoryId_t id);
64 |
65 | /// Store secure context (called on RTOS thread context switch)
66 | /// \param[in] id TrustZone memory slot identifier
67 | /// \return execution status (1: success, 0: error)
68 | uint32_t TZ_StoreContext_S (TZ_MemoryId_t id);
69 |
70 | #endif // TZ_CONTEXT_H
71 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Aniel Shri
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AnielShri/STM32H745_Ethernet/0e59738272c768bdd84d0326a95c64dcc22f46fa/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c
--------------------------------------------------------------------------------
/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AnielShri/STM32H745_Ethernet/0e59738272c768bdd84d0326a95c64dcc22f46fa/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/core/ipv6/dhcp6.c:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | *
4 | * DHCPv6.
5 | */
6 |
7 | /*
8 | * Copyright (c) 2010 Inico Technologies Ltd.
9 | * All rights reserved.
10 | *
11 | * Redistribution and use in source and binary forms, with or without modification,
12 | * are permitted provided that the following conditions are met:
13 | *
14 | * 1. Redistributions of source code must retain the above copyright notice,
15 | * this list of conditions and the following disclaimer.
16 | * 2. Redistributions in binary form must reproduce the above copyright notice,
17 | * this list of conditions and the following disclaimer in the documentation
18 | * and/or other materials provided with the distribution.
19 | * 3. The name of the author may not be used to endorse or promote products
20 | * derived from this software without specific prior written permission.
21 | *
22 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
23 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
25 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
27 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
30 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
31 | * OF SUCH DAMAGE.
32 | *
33 | * This file is part of the lwIP TCP/IP stack.
34 | *
35 | * Author: Ivan Delamer
36 | *
37 | *
38 | * Please coordinate changes and requests with Ivan Delamer
39 | *
40 | */
41 |
42 | #include "lwip/opt.h"
43 |
44 | #if LWIP_IPV6 && LWIP_IPV6_DHCP6 /* don't build if not configured for use in lwipopts.h */
45 |
46 | #include "lwip/ip6_addr.h"
47 | #include "lwip/def.h"
48 |
49 |
50 | #endif /* LWIP_IPV6 && LWIP_IPV6_DHCP6 */
51 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/core/ipv6/inet6.c:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | *
4 | * INET v6 addresses.
5 | */
6 |
7 | /*
8 | * Copyright (c) 2010 Inico Technologies Ltd.
9 | * All rights reserved.
10 | *
11 | * Redistribution and use in source and binary forms, with or without modification,
12 | * are permitted provided that the following conditions are met:
13 | *
14 | * 1. Redistributions of source code must retain the above copyright notice,
15 | * this list of conditions and the following disclaimer.
16 | * 2. Redistributions in binary form must reproduce the above copyright notice,
17 | * this list of conditions and the following disclaimer in the documentation
18 | * and/or other materials provided with the distribution.
19 | * 3. The name of the author may not be used to endorse or promote products
20 | * derived from this software without specific prior written permission.
21 | *
22 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
23 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
25 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
27 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
30 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
31 | * OF SUCH DAMAGE.
32 | *
33 | * This file is part of the lwIP TCP/IP stack.
34 | *
35 | * Author: Ivan Delamer
36 | *
37 | *
38 | * Please coordinate changes and requests with Ivan Delamer
39 | *
40 | */
41 |
42 | #include "lwip/opt.h"
43 |
44 | #if LWIP_IPV6 && LWIP_SOCKET /* don't build if not configured for use in lwipopts.h */
45 |
46 | #include "lwip/def.h"
47 | #include "lwip/inet.h"
48 |
49 | /** This variable is initialized by the system to contain the wildcard IPv6 address.
50 | */
51 | const struct in6_addr in6addr_any = IN6ADDR_ANY_INIT;
52 |
53 | #endif /* LWIP_IPV6 */
54 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/lwiperf.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * lwIP iPerf server implementation
4 | */
5 |
6 | /*
7 | * Copyright (c) 2014 Simon Goldschmidt
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Simon Goldschmidt
35 | *
36 | */
37 | #ifndef LWIP_HDR_APPS_LWIPERF_H
38 | #define LWIP_HDR_APPS_LWIPERF_H
39 |
40 | #include "lwip/opt.h"
41 | #include "lwip/ip_addr.h"
42 |
43 | #ifdef __cplusplus
44 | extern "C" {
45 | #endif
46 |
47 | #define LWIPERF_TCP_PORT_DEFAULT 5001
48 |
49 | /** lwIPerf test results */
50 | enum lwiperf_report_type
51 | {
52 | /** The server side test is done */
53 | LWIPERF_TCP_DONE_SERVER,
54 | /** The client side test is done */
55 | LWIPERF_TCP_DONE_CLIENT,
56 | /** Local error lead to test abort */
57 | LWIPERF_TCP_ABORTED_LOCAL,
58 | /** Data check error lead to test abort */
59 | LWIPERF_TCP_ABORTED_LOCAL_DATAERROR,
60 | /** Transmit error lead to test abort */
61 | LWIPERF_TCP_ABORTED_LOCAL_TXERROR,
62 | /** Remote side aborted the test */
63 | LWIPERF_TCP_ABORTED_REMOTE
64 | };
65 |
66 | /** Prototype of a report function that is called when a session is finished.
67 | This report function can show the test results.
68 | @param report_type contains the test result */
69 | typedef void (*lwiperf_report_fn)(void *arg, enum lwiperf_report_type report_type,
70 | const ip_addr_t* local_addr, u16_t local_port, const ip_addr_t* remote_addr, u16_t remote_port,
71 | u32_t bytes_transferred, u32_t ms_duration, u32_t bandwidth_kbitpsec);
72 |
73 |
74 | void* lwiperf_start_tcp_server(const ip_addr_t* local_addr, u16_t local_port,
75 | lwiperf_report_fn report_fn, void* report_arg);
76 | void* lwiperf_start_tcp_server_default(lwiperf_report_fn report_fn, void* report_arg);
77 | void lwiperf_abort(void* lwiperf_session);
78 |
79 |
80 | #ifdef __cplusplus
81 | }
82 | #endif
83 |
84 | #endif /* LWIP_HDR_APPS_LWIPERF_H */
85 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mdns.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * MDNS responder
4 | */
5 |
6 | /*
7 | * Copyright (c) 2015 Verisure Innovation AB
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Erik Ekman
35 | *
36 | */
37 | #ifndef LWIP_HDR_MDNS_H
38 | #define LWIP_HDR_MDNS_H
39 |
40 | #include "lwip/apps/mdns_opts.h"
41 | #include "lwip/netif.h"
42 |
43 | #if LWIP_MDNS_RESPONDER
44 |
45 | enum mdns_sd_proto {
46 | DNSSD_PROTO_UDP = 0,
47 | DNSSD_PROTO_TCP = 1
48 | };
49 |
50 | #define MDNS_LABEL_MAXLEN 63
51 |
52 | struct mdns_host;
53 | struct mdns_service;
54 |
55 | /** Callback function to add text to a reply, called when generating the reply */
56 | typedef void (*service_get_txt_fn_t)(struct mdns_service *service, void *txt_userdata);
57 |
58 | void mdns_resp_init(void);
59 |
60 | err_t mdns_resp_add_netif(struct netif *netif, const char *hostname, u32_t dns_ttl);
61 | err_t mdns_resp_remove_netif(struct netif *netif);
62 |
63 | err_t mdns_resp_add_service(struct netif *netif, const char *name, const char *service, enum mdns_sd_proto proto, u16_t port, u32_t dns_ttl, service_get_txt_fn_t txt_fn, void *txt_userdata);
64 | err_t mdns_resp_add_service_txtitem(struct mdns_service *service, const char *txt, u8_t txt_len);
65 | void mdns_resp_netif_settings_changed(struct netif *netif);
66 |
67 | #endif /* LWIP_MDNS_RESPONDER */
68 |
69 | #endif /* LWIP_HDR_MDNS_H */
70 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mdns_opts.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * MDNS responder
4 | */
5 |
6 | /*
7 | * Copyright (c) 2015 Verisure Innovation AB
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Erik Ekman
35 | *
36 | */
37 |
38 | #ifndef LWIP_HDR_APPS_MDNS_OPTS_H
39 | #define LWIP_HDR_APPS_MDNS_OPTS_H
40 |
41 | #include "lwip/opt.h"
42 |
43 | /**
44 | * @defgroup mdns_opts Options
45 | * @ingroup mdns
46 | * @{
47 | */
48 |
49 | /**
50 | * LWIP_MDNS_RESPONDER==1: Turn on multicast DNS module. UDP must be available for MDNS
51 | * transport. IGMP is needed for IPv4 multicast.
52 | */
53 | #ifndef LWIP_MDNS_RESPONDER
54 | #define LWIP_MDNS_RESPONDER 0
55 | #endif /* LWIP_MDNS_RESPONDER */
56 |
57 | /** The maximum number of services per netif */
58 | #ifndef MDNS_MAX_SERVICES
59 | #define MDNS_MAX_SERVICES 1
60 | #endif
61 |
62 | /**
63 | * MDNS_DEBUG: Enable debugging for multicast DNS.
64 | */
65 | #ifndef MDNS_DEBUG
66 | #define MDNS_DEBUG LWIP_DBG_OFF
67 | #endif
68 |
69 | /**
70 | * @}
71 | */
72 |
73 | #endif /* LWIP_HDR_APPS_MDNS_OPTS_H */
74 |
75 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mdns_priv.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * MDNS responder private definitions
4 | */
5 |
6 | /*
7 | * Copyright (c) 2015 Verisure Innovation AB
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Erik Ekman
35 | *
36 | */
37 | #ifndef LWIP_HDR_MDNS_PRIV_H
38 | #define LWIP_HDR_MDNS_PRIV_H
39 |
40 | #include "lwip/apps/mdns_opts.h"
41 | #include "lwip/pbuf.h"
42 |
43 | #if LWIP_MDNS_RESPONDER
44 |
45 | /* Domain struct and methods - visible for unit tests */
46 |
47 | #define MDNS_DOMAIN_MAXLEN 256
48 | #define MDNS_READNAME_ERROR 0xFFFF
49 |
50 | struct mdns_domain {
51 | /* Encoded domain name */
52 | u8_t name[MDNS_DOMAIN_MAXLEN];
53 | /* Total length of domain name, including zero */
54 | u16_t length;
55 | /* Set if compression of this domain is not allowed */
56 | u8_t skip_compression;
57 | };
58 |
59 | err_t mdns_domain_add_label(struct mdns_domain *domain, const char *label, u8_t len);
60 | u16_t mdns_readname(struct pbuf *p, u16_t offset, struct mdns_domain *domain);
61 | int mdns_domain_eq(struct mdns_domain *a, struct mdns_domain *b);
62 | u16_t mdns_compress_domain(struct pbuf *pbuf, u16_t *offset, struct mdns_domain *domain);
63 |
64 | #endif /* LWIP_MDNS_RESPONDER */
65 |
66 | #endif /* LWIP_HDR_MDNS_PRIV_H */
67 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/mqtt_opts.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * MQTT client options
4 | */
5 |
6 | /*
7 | * Copyright (c) 2016 Erik Andersson
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Erik Andersson
35 | *
36 | */
37 | #ifndef LWIP_HDR_APPS_MQTT_OPTS_H
38 | #define LWIP_HDR_APPS_MQTT_OPTS_H
39 |
40 | #include "lwip/opt.h"
41 |
42 | #ifdef __cplusplus
43 | extern "C" {
44 | #endif
45 |
46 | /**
47 | * @defgroup mqtt_opts Options
48 | * @ingroup mqtt
49 | * @{
50 | */
51 |
52 | /**
53 | * Output ring-buffer size, must be able to fit largest outgoing publish message topic+payloads
54 | */
55 | #ifndef MQTT_OUTPUT_RINGBUF_SIZE
56 | #define MQTT_OUTPUT_RINGBUF_SIZE 256
57 | #endif
58 |
59 | /**
60 | * Number of bytes in receive buffer, must be at least the size of the longest incoming topic + 8
61 | * If one wants to avoid fragmented incoming publish, set length to max incoming topic length + max payload length + 8
62 | */
63 | #ifndef MQTT_VAR_HEADER_BUFFER_LEN
64 | #define MQTT_VAR_HEADER_BUFFER_LEN 128
65 | #endif
66 |
67 | /**
68 | * Maximum number of pending subscribe, unsubscribe and publish requests to server .
69 | */
70 | #ifndef MQTT_REQ_MAX_IN_FLIGHT
71 | #define MQTT_REQ_MAX_IN_FLIGHT 4
72 | #endif
73 |
74 | /**
75 | * Seconds between each cyclic timer call.
76 | */
77 | #ifndef MQTT_CYCLIC_TIMER_INTERVAL
78 | #define MQTT_CYCLIC_TIMER_INTERVAL 5
79 | #endif
80 |
81 | /**
82 | * Publish, subscribe and unsubscribe request timeout in seconds.
83 | */
84 | #ifndef MQTT_REQ_TIMEOUT
85 | #define MQTT_REQ_TIMEOUT 30
86 | #endif
87 |
88 | /**
89 | * Seconds for MQTT connect response timeout after sending connect request
90 | */
91 | #ifndef MQTT_CONNECT_TIMOUT
92 | #define MQTT_CONNECT_TIMOUT 100
93 | #endif
94 |
95 | /**
96 | * @}
97 | */
98 |
99 | #ifdef __cplusplus
100 | }
101 | #endif
102 |
103 | #endif /* LWIP_HDR_APPS_MQTT_OPTS_H */
104 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/netbiosns.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * NETBIOS name service responder
4 | */
5 |
6 | /*
7 | * Redistribution and use in source and binary forms, with or without modification,
8 | * are permitted provided that the following conditions are met:
9 | *
10 | * 1. Redistributions of source code must retain the above copyright notice,
11 | * this list of conditions and the following disclaimer.
12 | * 2. Redistributions in binary form must reproduce the above copyright notice,
13 | * this list of conditions and the following disclaimer in the documentation
14 | * and/or other materials provided with the distribution.
15 | * 3. The name of the author may not be used to endorse or promote products
16 | * derived from this software without specific prior written permission.
17 | *
18 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
19 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
21 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
23 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
26 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
27 | * OF SUCH DAMAGE.
28 | *
29 | * This file is part of the lwIP TCP/IP stack.
30 | *
31 | */
32 | #ifndef LWIP_HDR_APPS_NETBIOS_H
33 | #define LWIP_HDR_APPS_NETBIOS_H
34 |
35 | #include "lwip/apps/netbiosns_opts.h"
36 |
37 | void netbiosns_init(void);
38 | #ifndef NETBIOS_LWIP_NAME
39 | void netbiosns_set_name(const char* hostname);
40 | #endif
41 | void netbiosns_stop(void);
42 |
43 | #endif /* LWIP_HDR_APPS_NETBIOS_H */
44 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/netbiosns_opts.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * NETBIOS name service responder options
4 | */
5 |
6 | /*
7 | * Redistribution and use in source and binary forms, with or without modification,
8 | * are permitted provided that the following conditions are met:
9 | *
10 | * 1. Redistributions of source code must retain the above copyright notice,
11 | * this list of conditions and the following disclaimer.
12 | * 2. Redistributions in binary form must reproduce the above copyright notice,
13 | * this list of conditions and the following disclaimer in the documentation
14 | * and/or other materials provided with the distribution.
15 | * 3. The name of the author may not be used to endorse or promote products
16 | * derived from this software without specific prior written permission.
17 | *
18 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
19 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
21 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
23 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
26 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
27 | * OF SUCH DAMAGE.
28 | *
29 | * This file is part of the lwIP TCP/IP stack.
30 | *
31 | */
32 | #ifndef LWIP_HDR_APPS_NETBIOS_OPTS_H
33 | #define LWIP_HDR_APPS_NETBIOS_OPTS_H
34 |
35 | #include "lwip/opt.h"
36 |
37 | /**
38 | * @defgroup netbiosns_opts Options
39 | * @ingroup netbiosns
40 | * @{
41 | */
42 |
43 | /** NetBIOS name of lwip device
44 | * This must be uppercase until NETBIOS_STRCMP() is defined to a string
45 | * comparision function that is case insensitive.
46 | * If you want to use the netif's hostname, use this (with LWIP_NETIF_HOSTNAME):
47 | * (ip_current_netif() != NULL ? ip_current_netif()->hostname != NULL ? ip_current_netif()->hostname : "" : "")
48 | *
49 | * If this is not defined, netbiosns_set_name() can be called at runtime to change the name.
50 | */
51 | #ifdef __DOXYGEN__
52 | #define NETBIOS_LWIP_NAME "NETBIOSLWIPDEV"
53 | #endif
54 |
55 | /**
56 | * @}
57 | */
58 |
59 | #endif /* LWIP_HDR_APPS_NETBIOS_OPTS_H */
60 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_mib2.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * SNMP MIB2 API
4 | */
5 |
6 | /*
7 | * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Dirk Ziegelmeier
35 | *
36 | */
37 | #ifndef LWIP_HDR_APPS_SNMP_MIB2_H
38 | #define LWIP_HDR_APPS_SNMP_MIB2_H
39 |
40 | #include "lwip/apps/snmp_opts.h"
41 |
42 | #ifdef __cplusplus
43 | extern "C" {
44 | #endif
45 |
46 | #if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */
47 | #if SNMP_LWIP_MIB2
48 |
49 | #include "lwip/apps/snmp_core.h"
50 |
51 | extern const struct snmp_mib mib2;
52 |
53 | #if SNMP_USE_NETCONN
54 | #include "lwip/apps/snmp_threadsync.h"
55 | void snmp_mib2_lwip_synchronizer(snmp_threadsync_called_fn fn, void* arg);
56 | extern struct snmp_threadsync_instance snmp_mib2_lwip_locks;
57 | #endif
58 |
59 | #ifndef SNMP_SYSSERVICES
60 | #define SNMP_SYSSERVICES ((1 << 6) | (1 << 3) | ((IP_FORWARD) << 2))
61 | #endif
62 |
63 | void snmp_mib2_set_sysdescr(const u8_t* str, const u16_t* len); /* read-only be defintion */
64 | void snmp_mib2_set_syscontact(u8_t *ocstr, u16_t *ocstrlen, u16_t bufsize);
65 | void snmp_mib2_set_syscontact_readonly(const u8_t *ocstr, const u16_t *ocstrlen);
66 | void snmp_mib2_set_sysname(u8_t *ocstr, u16_t *ocstrlen, u16_t bufsize);
67 | void snmp_mib2_set_sysname_readonly(const u8_t *ocstr, const u16_t *ocstrlen);
68 | void snmp_mib2_set_syslocation(u8_t *ocstr, u16_t *ocstrlen, u16_t bufsize);
69 | void snmp_mib2_set_syslocation_readonly(const u8_t *ocstr, const u16_t *ocstrlen);
70 |
71 | #endif /* SNMP_LWIP_MIB2 */
72 | #endif /* LWIP_SNMP */
73 |
74 | #ifdef __cplusplus
75 | }
76 | #endif
77 |
78 | #endif /* LWIP_HDR_APPS_SNMP_MIB2_H */
79 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmpv3.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * Additional SNMPv3 functionality RFC3414 and RFC3826.
4 | */
5 |
6 | /*
7 | * Copyright (c) 2016 Elias Oenal.
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * Author: Elias Oenal
33 | */
34 |
35 | #ifndef LWIP_HDR_APPS_SNMP_V3_H
36 | #define LWIP_HDR_APPS_SNMP_V3_H
37 |
38 | #include "lwip/apps/snmp_opts.h"
39 | #include "lwip/err.h"
40 |
41 | #if LWIP_SNMP && LWIP_SNMP_V3
42 |
43 | #define SNMP_V3_AUTH_ALGO_INVAL 0
44 | #define SNMP_V3_AUTH_ALGO_MD5 1
45 | #define SNMP_V3_AUTH_ALGO_SHA 2
46 |
47 | #define SNMP_V3_PRIV_ALGO_INVAL 0
48 | #define SNMP_V3_PRIV_ALGO_DES 1
49 | #define SNMP_V3_PRIV_ALGO_AES 2
50 |
51 | #define SNMP_V3_PRIV_MODE_DECRYPT 0
52 | #define SNMP_V3_PRIV_MODE_ENCRYPT 1
53 |
54 | /*
55 | * The following callback functions must be implemented by the application.
56 | * There is a dummy implementation in snmpv3_dummy.c.
57 | */
58 |
59 | void snmpv3_get_engine_id(const char **id, u8_t *len);
60 | err_t snmpv3_set_engine_id(const char* id, u8_t len);
61 |
62 | u32_t snmpv3_get_engine_boots(void);
63 | void snmpv3_set_engine_boots(u32_t boots);
64 |
65 | u32_t snmpv3_get_engine_time(void);
66 | void snmpv3_reset_engine_time(void);
67 |
68 | err_t snmpv3_get_user(const char* username, u8_t *auth_algo, u8_t *auth_key, u8_t *priv_algo, u8_t *priv_key);
69 |
70 | /* The following functions are provided by the SNMPv3 agent */
71 |
72 | void snmpv3_engine_id_changed(void);
73 |
74 | void snmpv3_password_to_key_md5(
75 | const u8_t *password, /* IN */
76 | u8_t passwordlen, /* IN */
77 | const u8_t *engineID, /* IN - pointer to snmpEngineID */
78 | u8_t engineLength, /* IN - length of snmpEngineID */
79 | u8_t *key); /* OUT - pointer to caller 16-octet buffer */
80 |
81 | void snmpv3_password_to_key_sha(
82 | const u8_t *password, /* IN */
83 | u8_t passwordlen, /* IN */
84 | const u8_t *engineID, /* IN - pointer to snmpEngineID */
85 | u8_t engineLength, /* IN - length of snmpEngineID */
86 | u8_t *key); /* OUT - pointer to caller 20-octet buffer */
87 |
88 | #endif
89 |
90 | #endif /* LWIP_HDR_APPS_SNMP_V3_H */
91 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/sntp.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * SNTP client API
4 | */
5 |
6 | /*
7 | * Copyright (c) 2007-2009 Frédéric Bernon, Simon Goldschmidt
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Frédéric Bernon, Simon Goldschmidt
35 | *
36 | */
37 | #ifndef LWIP_HDR_APPS_SNTP_H
38 | #define LWIP_HDR_APPS_SNTP_H
39 |
40 | #include "lwip/apps/sntp_opts.h"
41 | #include "lwip/ip_addr.h"
42 |
43 | #ifdef __cplusplus
44 | extern "C" {
45 | #endif
46 |
47 | /* SNTP operating modes: default is to poll using unicast.
48 | The mode has to be set before calling sntp_init(). */
49 | #define SNTP_OPMODE_POLL 0
50 | #define SNTP_OPMODE_LISTENONLY 1
51 | void sntp_setoperatingmode(u8_t operating_mode);
52 | u8_t sntp_getoperatingmode(void);
53 |
54 | void sntp_init(void);
55 | void sntp_stop(void);
56 | u8_t sntp_enabled(void);
57 |
58 | void sntp_setserver(u8_t idx, const ip_addr_t *addr);
59 | const ip_addr_t* sntp_getserver(u8_t idx);
60 |
61 | #if SNTP_SERVER_DNS
62 | void sntp_setservername(u8_t idx, char *server);
63 | char *sntp_getservername(u8_t idx);
64 | #endif /* SNTP_SERVER_DNS */
65 |
66 | #if SNTP_GET_SERVERS_FROM_DHCP
67 | void sntp_servermode_dhcp(int set_servers_from_dhcp);
68 | #else /* SNTP_GET_SERVERS_FROM_DHCP */
69 | #define sntp_servermode_dhcp(x)
70 | #endif /* SNTP_GET_SERVERS_FROM_DHCP */
71 |
72 | #ifdef __cplusplus
73 | }
74 | #endif
75 |
76 | #endif /* LWIP_HDR_APPS_SNTP_H */
77 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/tftp_opts.h:
--------------------------------------------------------------------------------
1 | /****************************************************************//**
2 | *
3 | * @file tftp_opts.h
4 | *
5 | * @author Logan Gunthorpe
6 | *
7 | * @brief Trivial File Transfer Protocol (RFC 1350) implementation options
8 | *
9 | * Copyright (c) Deltatee Enterprises Ltd. 2013
10 | * All rights reserved.
11 | *
12 | ********************************************************************/
13 |
14 | /*
15 | * Redistribution and use in source and binary forms, with or without
16 | * modification,are permitted provided that the following conditions are met:
17 | *
18 | * 1. Redistributions of source code must retain the above copyright notice,
19 | * this list of conditions and the following disclaimer.
20 | * 2. Redistributions in binary form must reproduce the above copyright notice,
21 | * this list of conditions and the following disclaimer in the documentation
22 | * and/or other materials provided with the distribution.
23 | * 3. The name of the author may not be used to endorse or promote products
24 | * derived from this software without specific prior written permission.
25 | *
26 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
27 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
28 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
29 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
31 | * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 | *
37 | * Author: Logan Gunthorpe
38 | *
39 | */
40 |
41 | #ifndef LWIP_HDR_APPS_TFTP_OPTS_H
42 | #define LWIP_HDR_APPS_TFTP_OPTS_H
43 |
44 | #include "lwip/opt.h"
45 |
46 | /**
47 | * @defgroup tftp_opts Options
48 | * @ingroup tftp
49 | * @{
50 | */
51 |
52 | /**
53 | * Enable TFTP debug messages
54 | */
55 | #if !defined TFTP_DEBUG || defined __DOXYGEN__
56 | #define TFTP_DEBUG LWIP_DBG_ON
57 | #endif
58 |
59 | /**
60 | * TFTP server port
61 | */
62 | #if !defined TFTP_PORT || defined __DOXYGEN__
63 | #define TFTP_PORT 69
64 | #endif
65 |
66 | /**
67 | * TFTP timeout
68 | */
69 | #if !defined TFTP_TIMEOUT_MSECS || defined __DOXYGEN__
70 | #define TFTP_TIMEOUT_MSECS 10000
71 | #endif
72 |
73 | /**
74 | * Max. number of retries when a file is read from server
75 | */
76 | #if !defined TFTP_MAX_RETRIES || defined __DOXYGEN__
77 | #define TFTP_MAX_RETRIES 5
78 | #endif
79 |
80 | /**
81 | * TFTP timer cyclic interval
82 | */
83 | #if !defined TFTP_TIMER_MSECS || defined __DOXYGEN__
84 | #define TFTP_TIMER_MSECS 50
85 | #endif
86 |
87 | /**
88 | * Max. length of TFTP filename
89 | */
90 | #if !defined TFTP_MAX_FILENAME_LEN || defined __DOXYGEN__
91 | #define TFTP_MAX_FILENAME_LEN 20
92 | #endif
93 |
94 | /**
95 | * Max. length of TFTP mode
96 | */
97 | #if !defined TFTP_MAX_MODE_LEN || defined __DOXYGEN__
98 | #define TFTP_MAX_MODE_LEN 7
99 | #endif
100 |
101 | /**
102 | * @}
103 | */
104 |
105 | #endif /* LWIP_HDR_APPS_TFTP_OPTS_H */
106 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/tftp_server.h:
--------------------------------------------------------------------------------
1 | /****************************************************************//**
2 | *
3 | * @file tftp_server.h
4 | *
5 | * @author Logan Gunthorpe
6 | *
7 | * @brief Trivial File Transfer Protocol (RFC 1350)
8 | *
9 | * Copyright (c) Deltatee Enterprises Ltd. 2013
10 | * All rights reserved.
11 | *
12 | ********************************************************************/
13 |
14 | /*
15 | * Redistribution and use in source and binary forms, with or without
16 | * modification,are permitted provided that the following conditions are met:
17 | *
18 | * 1. Redistributions of source code must retain the above copyright notice,
19 | * this list of conditions and the following disclaimer.
20 | * 2. Redistributions in binary form must reproduce the above copyright notice,
21 | * this list of conditions and the following disclaimer in the documentation
22 | * and/or other materials provided with the distribution.
23 | * 3. The name of the author may not be used to endorse or promote products
24 | * derived from this software without specific prior written permission.
25 | *
26 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
27 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
28 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
29 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
31 | * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 | *
37 | * Author: Logan Gunthorpe
38 | *
39 | */
40 |
41 | #ifndef LWIP_HDR_APPS_TFTP_SERVER_H
42 | #define LWIP_HDR_APPS_TFTP_SERVER_H
43 |
44 | #include "lwip/apps/tftp_opts.h"
45 | #include "lwip/err.h"
46 | #include "lwip/pbuf.h"
47 |
48 | #ifdef __cplusplus
49 | extern "C" {
50 | #endif
51 |
52 | /** @ingroup tftp
53 | * TFTP context containing callback functions for TFTP transfers
54 | */
55 | struct tftp_context {
56 | /**
57 | * Open file for read/write.
58 | * @param fname Filename
59 | * @param mode Mode string from TFTP RFC 1350 (netascii, octet, mail)
60 | * @param write Flag indicating read (0) or write (!= 0) access
61 | * @returns File handle supplied to other functions
62 | */
63 | void* (*open)(const char* fname, const char* mode, u8_t write);
64 | /**
65 | * Close file handle
66 | * @param handle File handle returned by open()
67 | */
68 | void (*close)(void* handle);
69 | /**
70 | * Read from file
71 | * @param handle File handle returned by open()
72 | * @param buf Target buffer to copy read data to
73 | * @param bytes Number of bytes to copy to buf
74 | * @returns >= 0: Success; < 0: Error
75 | */
76 | int (*read)(void* handle, void* buf, int bytes);
77 | /**
78 | * Write to file
79 | * @param handle File handle returned by open()
80 | * @param pbuf PBUF adjusted such that payload pointer points
81 | * to the beginning of write data. In other words,
82 | * TFTP headers are stripped off.
83 | * @returns >= 0: Success; < 0: Error
84 | */
85 | int (*write)(void* handle, struct pbuf* p);
86 | };
87 |
88 | err_t tftp_init(const struct tftp_context* ctx);
89 |
90 | #ifdef __cplusplus
91 | }
92 | #endif
93 |
94 | #endif /* LWIP_HDR_APPS_TFTP_SERVER_H */
95 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/dhcp6.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | *
4 | * IPv6 address autoconfiguration as per RFC 4862.
5 | */
6 |
7 | /*
8 | * Copyright (c) 2010 Inico Technologies Ltd.
9 | * All rights reserved.
10 | *
11 | * Redistribution and use in source and binary forms, with or without modification,
12 | * are permitted provided that the following conditions are met:
13 | *
14 | * 1. Redistributions of source code must retain the above copyright notice,
15 | * this list of conditions and the following disclaimer.
16 | * 2. Redistributions in binary form must reproduce the above copyright notice,
17 | * this list of conditions and the following disclaimer in the documentation
18 | * and/or other materials provided with the distribution.
19 | * 3. The name of the author may not be used to endorse or promote products
20 | * derived from this software without specific prior written permission.
21 | *
22 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
23 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
25 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
27 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
30 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
31 | * OF SUCH DAMAGE.
32 | *
33 | * This file is part of the lwIP TCP/IP stack.
34 | *
35 | * Author: Ivan Delamer
36 | *
37 | * IPv6 address autoconfiguration as per RFC 4862.
38 | *
39 | * Please coordinate changes and requests with Ivan Delamer
40 | *
41 | */
42 |
43 | #ifndef LWIP_HDR_IP6_DHCP6_H
44 | #define LWIP_HDR_IP6_DHCP6_H
45 |
46 | #include "lwip/opt.h"
47 |
48 | #if LWIP_IPV6_DHCP6 /* don't build if not configured for use in lwipopts.h */
49 |
50 |
51 | struct dhcp6
52 | {
53 | /*@todo: implement DHCP6*/
54 | };
55 |
56 | #endif /* LWIP_IPV6_DHCP6 */
57 |
58 | #endif /* LWIP_HDR_IP6_DHCP6_H */
59 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/ethip6.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | *
4 | * Ethernet output for IPv6. Uses ND tables for link-layer addressing.
5 | */
6 |
7 | /*
8 | * Copyright (c) 2010 Inico Technologies Ltd.
9 | * All rights reserved.
10 | *
11 | * Redistribution and use in source and binary forms, with or without modification,
12 | * are permitted provided that the following conditions are met:
13 | *
14 | * 1. Redistributions of source code must retain the above copyright notice,
15 | * this list of conditions and the following disclaimer.
16 | * 2. Redistributions in binary form must reproduce the above copyright notice,
17 | * this list of conditions and the following disclaimer in the documentation
18 | * and/or other materials provided with the distribution.
19 | * 3. The name of the author may not be used to endorse or promote products
20 | * derived from this software without specific prior written permission.
21 | *
22 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
23 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
25 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
27 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
30 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
31 | * OF SUCH DAMAGE.
32 | *
33 | * This file is part of the lwIP TCP/IP stack.
34 | *
35 | * Author: Ivan Delamer
36 | *
37 | *
38 | * Please coordinate changes and requests with Ivan Delamer
39 | *
40 | */
41 |
42 | #ifndef LWIP_HDR_ETHIP6_H
43 | #define LWIP_HDR_ETHIP6_H
44 |
45 | #include "lwip/opt.h"
46 |
47 | #if LWIP_IPV6 && LWIP_ETHERNET /* don't build if not configured for use in lwipopts.h */
48 |
49 | #include "lwip/pbuf.h"
50 | #include "lwip/ip6.h"
51 | #include "lwip/ip6_addr.h"
52 | #include "lwip/netif.h"
53 |
54 |
55 | #ifdef __cplusplus
56 | extern "C" {
57 | #endif
58 |
59 |
60 | err_t ethip6_output(struct netif *netif, struct pbuf *q, const ip6_addr_t *ip6addr);
61 |
62 | #ifdef __cplusplus
63 | }
64 | #endif
65 |
66 | #endif /* LWIP_IPV6 && LWIP_ETHERNET */
67 |
68 | #endif /* LWIP_HDR_ETHIP6_H */
69 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/icmp6.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | *
4 | * IPv6 version of ICMP, as per RFC 4443.
5 | */
6 |
7 | /*
8 | * Copyright (c) 2010 Inico Technologies Ltd.
9 | * All rights reserved.
10 | *
11 | * Redistribution and use in source and binary forms, with or without modification,
12 | * are permitted provided that the following conditions are met:
13 | *
14 | * 1. Redistributions of source code must retain the above copyright notice,
15 | * this list of conditions and the following disclaimer.
16 | * 2. Redistributions in binary form must reproduce the above copyright notice,
17 | * this list of conditions and the following disclaimer in the documentation
18 | * and/or other materials provided with the distribution.
19 | * 3. The name of the author may not be used to endorse or promote products
20 | * derived from this software without specific prior written permission.
21 | *
22 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
23 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
25 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
27 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
30 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
31 | * OF SUCH DAMAGE.
32 | *
33 | * This file is part of the lwIP TCP/IP stack.
34 | *
35 | * Author: Ivan Delamer
36 | *
37 | *
38 | * Please coordinate changes and requests with Ivan Delamer
39 | *
40 | */
41 | #ifndef LWIP_HDR_ICMP6_H
42 | #define LWIP_HDR_ICMP6_H
43 |
44 | #include "lwip/opt.h"
45 | #include "lwip/pbuf.h"
46 | #include "lwip/ip6_addr.h"
47 | #include "lwip/netif.h"
48 | #include "lwip/prot/icmp6.h"
49 |
50 | #ifdef __cplusplus
51 | extern "C" {
52 | #endif
53 |
54 | #if LWIP_ICMP6 && LWIP_IPV6 /* don't build if not configured for use in lwipopts.h */
55 |
56 | void icmp6_input(struct pbuf *p, struct netif *inp);
57 | void icmp6_dest_unreach(struct pbuf *p, enum icmp6_dur_code c);
58 | void icmp6_packet_too_big(struct pbuf *p, u32_t mtu);
59 | void icmp6_time_exceeded(struct pbuf *p, enum icmp6_te_code c);
60 | void icmp6_param_problem(struct pbuf *p, enum icmp6_pp_code c, u32_t pointer);
61 |
62 | #endif /* LWIP_ICMP6 && LWIP_IPV6 */
63 |
64 |
65 | #ifdef __cplusplus
66 | }
67 | #endif
68 |
69 |
70 | #endif /* LWIP_HDR_ICMP6_H */
71 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/ip4_frag.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * IP fragmentation/reassembly
4 | */
5 |
6 | /*
7 | * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Jani Monoses
35 | *
36 | */
37 |
38 | #ifndef LWIP_HDR_IP4_FRAG_H
39 | #define LWIP_HDR_IP4_FRAG_H
40 |
41 | #include "lwip/opt.h"
42 | #include "lwip/err.h"
43 | #include "lwip/pbuf.h"
44 | #include "lwip/netif.h"
45 | #include "lwip/ip_addr.h"
46 | #include "lwip/ip.h"
47 |
48 | #if LWIP_IPV4
49 |
50 | #ifdef __cplusplus
51 | extern "C" {
52 | #endif
53 |
54 | #if IP_REASSEMBLY
55 | /* The IP reassembly timer interval in milliseconds. */
56 | #define IP_TMR_INTERVAL 1000
57 |
58 | /** IP reassembly helper struct.
59 | * This is exported because memp needs to know the size.
60 | */
61 | struct ip_reassdata {
62 | struct ip_reassdata *next;
63 | struct pbuf *p;
64 | struct ip_hdr iphdr;
65 | u16_t datagram_len;
66 | u8_t flags;
67 | u8_t timer;
68 | };
69 |
70 | void ip_reass_init(void);
71 | void ip_reass_tmr(void);
72 | struct pbuf * ip4_reass(struct pbuf *p);
73 | #endif /* IP_REASSEMBLY */
74 |
75 | #if IP_FRAG
76 | #if !LWIP_NETIF_TX_SINGLE_PBUF
77 | #ifndef LWIP_PBUF_CUSTOM_REF_DEFINED
78 | #define LWIP_PBUF_CUSTOM_REF_DEFINED
79 | /** A custom pbuf that holds a reference to another pbuf, which is freed
80 | * when this custom pbuf is freed. This is used to create a custom PBUF_REF
81 | * that points into the original pbuf. */
82 | struct pbuf_custom_ref {
83 | /** 'base class' */
84 | struct pbuf_custom pc;
85 | /** pointer to the original pbuf that is referenced */
86 | struct pbuf *original;
87 | };
88 | #endif /* LWIP_PBUF_CUSTOM_REF_DEFINED */
89 | #endif /* !LWIP_NETIF_TX_SINGLE_PBUF */
90 |
91 | err_t ip4_frag(struct pbuf *p, struct netif *netif, const ip4_addr_t *dest);
92 | #endif /* IP_FRAG */
93 |
94 | #ifdef __cplusplus
95 | }
96 | #endif
97 |
98 | #endif /* LWIP_IPV4 */
99 |
100 | #endif /* LWIP_HDR_IP4_FRAG_H */
101 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/mem.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * Heap API
4 | */
5 |
6 | /*
7 | * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Adam Dunkels
35 | *
36 | */
37 | #ifndef LWIP_HDR_MEM_H
38 | #define LWIP_HDR_MEM_H
39 |
40 | #include "lwip/opt.h"
41 |
42 | #ifdef __cplusplus
43 | extern "C" {
44 | #endif
45 |
46 | #if MEM_LIBC_MALLOC
47 |
48 | #include "lwip/arch.h"
49 |
50 | typedef size_t mem_size_t;
51 | #define MEM_SIZE_F SZT_F
52 |
53 | #elif MEM_USE_POOLS
54 |
55 | typedef u16_t mem_size_t;
56 | #define MEM_SIZE_F U16_F
57 |
58 | #else
59 |
60 | /* MEM_SIZE would have to be aligned, but using 64000 here instead of
61 | * 65535 leaves some room for alignment...
62 | */
63 | #if MEM_SIZE > 64000L
64 | typedef u32_t mem_size_t;
65 | #define MEM_SIZE_F U32_F
66 | #else
67 | typedef u16_t mem_size_t;
68 | #define MEM_SIZE_F U16_F
69 | #endif /* MEM_SIZE > 64000 */
70 | #endif
71 |
72 | void mem_init(void);
73 | void *mem_trim(void *mem, mem_size_t size);
74 | void *mem_malloc(mem_size_t size);
75 | void *mem_calloc(mem_size_t count, mem_size_t size);
76 | void mem_free(void *mem);
77 |
78 | #ifdef __cplusplus
79 | }
80 | #endif
81 |
82 | #endif /* LWIP_HDR_MEM_H */
83 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/nd6.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | *
4 | * Neighbor discovery and stateless address autoconfiguration for IPv6.
5 | * Aims to be compliant with RFC 4861 (Neighbor discovery) and RFC 4862
6 | * (Address autoconfiguration).
7 | */
8 |
9 | /*
10 | * Copyright (c) 2010 Inico Technologies Ltd.
11 | * All rights reserved.
12 | *
13 | * Redistribution and use in source and binary forms, with or without modification,
14 | * are permitted provided that the following conditions are met:
15 | *
16 | * 1. Redistributions of source code must retain the above copyright notice,
17 | * this list of conditions and the following disclaimer.
18 | * 2. Redistributions in binary form must reproduce the above copyright notice,
19 | * this list of conditions and the following disclaimer in the documentation
20 | * and/or other materials provided with the distribution.
21 | * 3. The name of the author may not be used to endorse or promote products
22 | * derived from this software without specific prior written permission.
23 | *
24 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
25 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
27 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
29 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
32 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
33 | * OF SUCH DAMAGE.
34 | *
35 | * This file is part of the lwIP TCP/IP stack.
36 | *
37 | * Author: Ivan Delamer
38 | *
39 | *
40 | * Please coordinate changes and requests with Ivan Delamer
41 | *
42 | */
43 |
44 | #ifndef LWIP_HDR_ND6_H
45 | #define LWIP_HDR_ND6_H
46 |
47 | #include "lwip/opt.h"
48 |
49 | #if LWIP_IPV6 /* don't build if not configured for use in lwipopts.h */
50 |
51 | #include "lwip/ip6_addr.h"
52 | #include "lwip/err.h"
53 |
54 | #ifdef __cplusplus
55 | extern "C" {
56 | #endif
57 |
58 | /** 1 second period */
59 | #define ND6_TMR_INTERVAL 1000
60 |
61 | struct pbuf;
62 | struct netif;
63 |
64 | void nd6_tmr(void);
65 | void nd6_input(struct pbuf *p, struct netif *inp);
66 | void nd6_clear_destination_cache(void);
67 | struct netif *nd6_find_route(const ip6_addr_t *ip6addr);
68 | err_t nd6_get_next_hop_addr_or_queue(struct netif *netif, struct pbuf *q, const ip6_addr_t *ip6addr, const u8_t **hwaddrp);
69 | u16_t nd6_get_destination_mtu(const ip6_addr_t *ip6addr, struct netif *netif);
70 | #if LWIP_ND6_TCP_REACHABILITY_HINTS
71 | void nd6_reachability_hint(const ip6_addr_t *ip6addr);
72 | #endif /* LWIP_ND6_TCP_REACHABILITY_HINTS */
73 | void nd6_cleanup_netif(struct netif *netif);
74 | #if LWIP_IPV6_MLD
75 | void nd6_adjust_mld_membership(struct netif *netif, s8_t addr_idx, u8_t new_state);
76 | #endif /* LWIP_IPV6_MLD */
77 |
78 | #ifdef __cplusplus
79 | }
80 | #endif
81 |
82 | #endif /* LWIP_IPV6 */
83 |
84 | #endif /* LWIP_HDR_ND6_H */
85 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/prot/autoip.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * AutoIP protocol definitions
4 | */
5 |
6 | /*
7 | *
8 | * Copyright (c) 2007 Dominik Spies
9 | * All rights reserved.
10 | *
11 | * Redistribution and use in source and binary forms, with or without modification,
12 | * are permitted provided that the following conditions are met:
13 | *
14 | * 1. Redistributions of source code must retain the above copyright notice,
15 | * this list of conditions and the following disclaimer.
16 | * 2. Redistributions in binary form must reproduce the above copyright notice,
17 | * this list of conditions and the following disclaimer in the documentation
18 | * and/or other materials provided with the distribution.
19 | * 3. The name of the author may not be used to endorse or promote products
20 | * derived from this software without specific prior written permission.
21 | *
22 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
23 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
25 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
27 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
30 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
31 | * OF SUCH DAMAGE.
32 | *
33 | * Author: Dominik Spies
34 | *
35 | * This is a AutoIP implementation for the lwIP TCP/IP stack. It aims to conform
36 | * with RFC 3927.
37 | *
38 | */
39 |
40 | #ifndef LWIP_HDR_PROT_AUTOIP_H
41 | #define LWIP_HDR_PROT_AUTOIP_H
42 |
43 | #ifdef __cplusplus
44 | extern "C" {
45 | #endif
46 |
47 | /* 169.254.0.0 */
48 | #define AUTOIP_NET 0xA9FE0000
49 | /* 169.254.1.0 */
50 | #define AUTOIP_RANGE_START (AUTOIP_NET | 0x0100)
51 | /* 169.254.254.255 */
52 | #define AUTOIP_RANGE_END (AUTOIP_NET | 0xFEFF)
53 |
54 | /* RFC 3927 Constants */
55 | #define PROBE_WAIT 1 /* second (initial random delay) */
56 | #define PROBE_MIN 1 /* second (minimum delay till repeated probe) */
57 | #define PROBE_MAX 2 /* seconds (maximum delay till repeated probe) */
58 | #define PROBE_NUM 3 /* (number of probe packets) */
59 | #define ANNOUNCE_NUM 2 /* (number of announcement packets) */
60 | #define ANNOUNCE_INTERVAL 2 /* seconds (time between announcement packets) */
61 | #define ANNOUNCE_WAIT 2 /* seconds (delay before announcing) */
62 | #define MAX_CONFLICTS 10 /* (max conflicts before rate limiting) */
63 | #define RATE_LIMIT_INTERVAL 60 /* seconds (delay between successive attempts) */
64 | #define DEFEND_INTERVAL 10 /* seconds (min. wait between defensive ARPs) */
65 |
66 | /* AutoIP client states */
67 | typedef enum {
68 | AUTOIP_STATE_OFF = 0,
69 | AUTOIP_STATE_PROBING = 1,
70 | AUTOIP_STATE_ANNOUNCING = 2,
71 | AUTOIP_STATE_BOUND = 3
72 | } autoip_state_enum_t;
73 |
74 | #ifdef __cplusplus
75 | }
76 | #endif
77 |
78 | #endif /* LWIP_HDR_PROT_AUTOIP_H */
79 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/prot/etharp.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * ARP protocol definitions
4 | */
5 |
6 | /*
7 | * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Adam Dunkels
35 | *
36 | */
37 | #ifndef LWIP_HDR_PROT_ETHARP_H
38 | #define LWIP_HDR_PROT_ETHARP_H
39 |
40 | #include "lwip/arch.h"
41 | #include "lwip/prot/ethernet.h"
42 | #include "lwip/ip4_addr.h"
43 |
44 | #ifdef __cplusplus
45 | extern "C" {
46 | #endif
47 |
48 | #ifndef ETHARP_HWADDR_LEN
49 | #define ETHARP_HWADDR_LEN ETH_HWADDR_LEN
50 | #endif
51 |
52 | #ifdef PACK_STRUCT_USE_INCLUDES
53 | # include "arch/bpstruct.h"
54 | #endif
55 | PACK_STRUCT_BEGIN
56 | /** the ARP message, see RFC 826 ("Packet format") */
57 | struct etharp_hdr {
58 | PACK_STRUCT_FIELD(u16_t hwtype);
59 | PACK_STRUCT_FIELD(u16_t proto);
60 | PACK_STRUCT_FLD_8(u8_t hwlen);
61 | PACK_STRUCT_FLD_8(u8_t protolen);
62 | PACK_STRUCT_FIELD(u16_t opcode);
63 | PACK_STRUCT_FLD_S(struct eth_addr shwaddr);
64 | PACK_STRUCT_FLD_S(struct ip4_addr2 sipaddr);
65 | PACK_STRUCT_FLD_S(struct eth_addr dhwaddr);
66 | PACK_STRUCT_FLD_S(struct ip4_addr2 dipaddr);
67 | } PACK_STRUCT_STRUCT;
68 | PACK_STRUCT_END
69 | #ifdef PACK_STRUCT_USE_INCLUDES
70 | # include "arch/epstruct.h"
71 | #endif
72 |
73 | #define SIZEOF_ETHARP_HDR 28
74 |
75 | /* ARP hwtype values */
76 | enum etharp_hwtype {
77 | HWTYPE_ETHERNET = 1
78 | /* others not used */
79 | };
80 |
81 | /* ARP message types (opcodes) */
82 | enum etharp_opcode {
83 | ARP_REQUEST = 1,
84 | ARP_REPLY = 2
85 | };
86 |
87 | #ifdef __cplusplus
88 | }
89 | #endif
90 |
91 | #endif /* LWIP_HDR_PROT_ETHARP_H */
92 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/prot/icmp.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * ICMP protocol definitions
4 | */
5 |
6 | /*
7 | * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Adam Dunkels
35 | *
36 | */
37 | #ifndef LWIP_HDR_PROT_ICMP_H
38 | #define LWIP_HDR_PROT_ICMP_H
39 |
40 | #include "lwip/arch.h"
41 |
42 | #ifdef __cplusplus
43 | extern "C" {
44 | #endif
45 |
46 | #define ICMP_ER 0 /* echo reply */
47 | #define ICMP_DUR 3 /* destination unreachable */
48 | #define ICMP_SQ 4 /* source quench */
49 | #define ICMP_RD 5 /* redirect */
50 | #define ICMP_ECHO 8 /* echo */
51 | #define ICMP_TE 11 /* time exceeded */
52 | #define ICMP_PP 12 /* parameter problem */
53 | #define ICMP_TS 13 /* timestamp */
54 | #define ICMP_TSR 14 /* timestamp reply */
55 | #define ICMP_IRQ 15 /* information request */
56 | #define ICMP_IR 16 /* information reply */
57 | #define ICMP_AM 17 /* address mask request */
58 | #define ICMP_AMR 18 /* address mask reply */
59 |
60 | #ifdef PACK_STRUCT_USE_INCLUDES
61 | # include "arch/bpstruct.h"
62 | #endif
63 | /** This is the standard ICMP header only that the u32_t data
64 | * is split to two u16_t like ICMP echo needs it.
65 | * This header is also used for other ICMP types that do not
66 | * use the data part.
67 | */
68 | PACK_STRUCT_BEGIN
69 | struct icmp_echo_hdr {
70 | PACK_STRUCT_FLD_8(u8_t type);
71 | PACK_STRUCT_FLD_8(u8_t code);
72 | PACK_STRUCT_FIELD(u16_t chksum);
73 | PACK_STRUCT_FIELD(u16_t id);
74 | PACK_STRUCT_FIELD(u16_t seqno);
75 | } PACK_STRUCT_STRUCT;
76 | PACK_STRUCT_END
77 | #ifdef PACK_STRUCT_USE_INCLUDES
78 | # include "arch/epstruct.h"
79 | #endif
80 |
81 | /* Compatibility defines, old versions used to combine type and code to an u16_t */
82 | #define ICMPH_TYPE(hdr) ((hdr)->type)
83 | #define ICMPH_CODE(hdr) ((hdr)->code)
84 | #define ICMPH_TYPE_SET(hdr, t) ((hdr)->type = (t))
85 | #define ICMPH_CODE_SET(hdr, c) ((hdr)->code = (c))
86 |
87 | #ifdef __cplusplus
88 | }
89 | #endif
90 |
91 | #endif /* LWIP_HDR_PROT_ICMP_H */
92 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/prot/igmp.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * IGMP protocol definitions
4 | */
5 |
6 | /*
7 | * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Adam Dunkels
35 | *
36 | */
37 | #ifndef LWIP_HDR_PROT_IGMP_H
38 | #define LWIP_HDR_PROT_IGMP_H
39 |
40 | #include "lwip/arch.h"
41 | #include "lwip/ip4_addr.h"
42 |
43 | #ifdef __cplusplus
44 | extern "C" {
45 | #endif
46 |
47 | /*
48 | * IGMP constants
49 | */
50 | #define IGMP_TTL 1
51 | #define IGMP_MINLEN 8
52 | #define ROUTER_ALERT 0x9404U
53 | #define ROUTER_ALERTLEN 4
54 |
55 | /*
56 | * IGMP message types, including version number.
57 | */
58 | #define IGMP_MEMB_QUERY 0x11 /* Membership query */
59 | #define IGMP_V1_MEMB_REPORT 0x12 /* Ver. 1 membership report */
60 | #define IGMP_V2_MEMB_REPORT 0x16 /* Ver. 2 membership report */
61 | #define IGMP_LEAVE_GROUP 0x17 /* Leave-group message */
62 |
63 | /* Group membership states */
64 | #define IGMP_GROUP_NON_MEMBER 0
65 | #define IGMP_GROUP_DELAYING_MEMBER 1
66 | #define IGMP_GROUP_IDLE_MEMBER 2
67 |
68 | /**
69 | * IGMP packet format.
70 | */
71 | #ifdef PACK_STRUCT_USE_INCLUDES
72 | # include "arch/bpstruct.h"
73 | #endif
74 | PACK_STRUCT_BEGIN
75 | struct igmp_msg {
76 | PACK_STRUCT_FLD_8(u8_t igmp_msgtype);
77 | PACK_STRUCT_FLD_8(u8_t igmp_maxresp);
78 | PACK_STRUCT_FIELD(u16_t igmp_checksum);
79 | PACK_STRUCT_FLD_S(ip4_addr_p_t igmp_group_address);
80 | } PACK_STRUCT_STRUCT;
81 | PACK_STRUCT_END
82 | #ifdef PACK_STRUCT_USE_INCLUDES
83 | # include "arch/epstruct.h"
84 | #endif
85 |
86 | #ifdef __cplusplus
87 | }
88 | #endif
89 |
90 | #endif /* LWIP_HDR_PROT_IGMP_H */
91 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/prot/ip.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * IP protocol definitions
4 | */
5 |
6 | /*
7 | * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Adam Dunkels
35 | *
36 | */
37 | #ifndef LWIP_HDR_PROT_IP_H
38 | #define LWIP_HDR_PROT_IP_H
39 |
40 | #include "lwip/arch.h"
41 |
42 | #define IP_PROTO_ICMP 1
43 | #define IP_PROTO_IGMP 2
44 | #define IP_PROTO_UDP 17
45 | #define IP_PROTO_UDPLITE 136
46 | #define IP_PROTO_TCP 6
47 |
48 | /** This operates on a void* by loading the first byte */
49 | #define IP_HDR_GET_VERSION(ptr) ((*(u8_t*)(ptr)) >> 4)
50 |
51 | #endif /* LWIP_HDR_PROT_IP_H */
52 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/prot/mld6.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * MLD6 protocol definitions
4 | */
5 |
6 | /*
7 | * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Adam Dunkels
35 | *
36 | */
37 | #ifndef LWIP_HDR_PROT_MLD6_H
38 | #define LWIP_HDR_PROT_MLD6_H
39 |
40 | #include "lwip/arch.h"
41 | #include "lwip/prot/ip6.h"
42 |
43 | #ifdef __cplusplus
44 | extern "C" {
45 | #endif
46 |
47 | /** Multicast listener report/query/done message header. */
48 | #ifdef PACK_STRUCT_USE_INCLUDES
49 | # include "arch/bpstruct.h"
50 | #endif
51 | PACK_STRUCT_BEGIN
52 | struct mld_header {
53 | PACK_STRUCT_FLD_8(u8_t type);
54 | PACK_STRUCT_FLD_8(u8_t code);
55 | PACK_STRUCT_FIELD(u16_t chksum);
56 | PACK_STRUCT_FIELD(u16_t max_resp_delay);
57 | PACK_STRUCT_FIELD(u16_t reserved);
58 | PACK_STRUCT_FLD_S(ip6_addr_p_t multicast_address);
59 | /* Options follow. */
60 | } PACK_STRUCT_STRUCT;
61 | PACK_STRUCT_END
62 | #ifdef PACK_STRUCT_USE_INCLUDES
63 | # include "arch/epstruct.h"
64 | #endif
65 |
66 | #ifdef __cplusplus
67 | }
68 | #endif
69 |
70 | #endif /* LWIP_HDR_PROT_MLD6_H */
71 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/prot/udp.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * UDP protocol definitions
4 | */
5 |
6 | /*
7 | * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Adam Dunkels
35 | *
36 | */
37 | #ifndef LWIP_HDR_PROT_UDP_H
38 | #define LWIP_HDR_PROT_UDP_H
39 |
40 | #include "lwip/arch.h"
41 |
42 | #ifdef __cplusplus
43 | extern "C" {
44 | #endif
45 |
46 | #define UDP_HLEN 8
47 |
48 | /* Fields are (of course) in network byte order. */
49 | #ifdef PACK_STRUCT_USE_INCLUDES
50 | # include "arch/bpstruct.h"
51 | #endif
52 | PACK_STRUCT_BEGIN
53 | struct udp_hdr {
54 | PACK_STRUCT_FIELD(u16_t src);
55 | PACK_STRUCT_FIELD(u16_t dest); /* src/dest UDP ports */
56 | PACK_STRUCT_FIELD(u16_t len);
57 | PACK_STRUCT_FIELD(u16_t chksum);
58 | } PACK_STRUCT_STRUCT;
59 | PACK_STRUCT_END
60 | #ifdef PACK_STRUCT_USE_INCLUDES
61 | # include "arch/epstruct.h"
62 | #endif
63 |
64 | #ifdef __cplusplus
65 | }
66 | #endif
67 |
68 | #endif /* LWIP_HDR_PROT_UDP_H */
69 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/netif/etharp.h:
--------------------------------------------------------------------------------
1 | /* ARP has been moved to core/ipv4, provide this #include for compatibility only */
2 | #include "lwip/etharp.h"
3 | #include "netif/ethernet.h"
4 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/netif/ethernet.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * Ethernet input function - handles INCOMING ethernet level traffic
4 | * To be used in most low-level netif implementations
5 | */
6 |
7 | /*
8 | * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
9 | * Copyright (c) 2003-2004 Leon Woestenberg
10 | * Copyright (c) 2003-2004 Axon Digital Design B.V., The Netherlands.
11 | * All rights reserved.
12 | *
13 | * Redistribution and use in source and binary forms, with or without modification,
14 | * are permitted provided that the following conditions are met:
15 | *
16 | * 1. Redistributions of source code must retain the above copyright notice,
17 | * this list of conditions and the following disclaimer.
18 | * 2. Redistributions in binary form must reproduce the above copyright notice,
19 | * this list of conditions and the following disclaimer in the documentation
20 | * and/or other materials provided with the distribution.
21 | * 3. The name of the author may not be used to endorse or promote products
22 | * derived from this software without specific prior written permission.
23 | *
24 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
25 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
27 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
29 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
32 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
33 | * OF SUCH DAMAGE.
34 | *
35 | * This file is part of the lwIP TCP/IP stack.
36 | *
37 | * Author: Adam Dunkels
38 | *
39 | */
40 |
41 | #ifndef LWIP_HDR_NETIF_ETHERNET_H
42 | #define LWIP_HDR_NETIF_ETHERNET_H
43 |
44 | #include "lwip/opt.h"
45 |
46 | #include "lwip/pbuf.h"
47 | #include "lwip/netif.h"
48 | #include "lwip/prot/ethernet.h"
49 |
50 | #ifdef __cplusplus
51 | extern "C" {
52 | #endif
53 |
54 | #if LWIP_ARP || LWIP_ETHERNET
55 |
56 | /** Define this to 1 and define LWIP_ARP_FILTER_NETIF_FN(pbuf, netif, type)
57 | * to a filter function that returns the correct netif when using multiple
58 | * netifs on one hardware interface where the netif's low-level receive
59 | * routine cannot decide for the correct netif (e.g. when mapping multiple
60 | * IP addresses to one hardware interface).
61 | */
62 | #ifndef LWIP_ARP_FILTER_NETIF
63 | #define LWIP_ARP_FILTER_NETIF 0
64 | #endif
65 |
66 | err_t ethernet_input(struct pbuf *p, struct netif *netif);
67 | err_t ethernet_output(struct netif* netif, struct pbuf* p, const struct eth_addr* src, const struct eth_addr* dst, u16_t eth_type);
68 |
69 | extern const struct eth_addr ethbroadcast, ethzero;
70 |
71 | #endif /* LWIP_ARP || LWIP_ETHERNET */
72 |
73 | #ifdef __cplusplus
74 | }
75 | #endif
76 |
77 | #endif /* LWIP_HDR_NETIF_ETHERNET_H */
78 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/netif/lowpan6.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | *
4 | * 6LowPAN output for IPv6. Uses ND tables for link-layer addressing. Fragments packets to 6LowPAN units.
5 | */
6 |
7 | /*
8 | * Copyright (c) 2015 Inico Technologies Ltd.
9 | * All rights reserved.
10 | *
11 | * Redistribution and use in source and binary forms, with or without modification,
12 | * are permitted provided that the following conditions are met:
13 | *
14 | * 1. Redistributions of source code must retain the above copyright notice,
15 | * this list of conditions and the following disclaimer.
16 | * 2. Redistributions in binary form must reproduce the above copyright notice,
17 | * this list of conditions and the following disclaimer in the documentation
18 | * and/or other materials provided with the distribution.
19 | * 3. The name of the author may not be used to endorse or promote products
20 | * derived from this software without specific prior written permission.
21 | *
22 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
23 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
25 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
27 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
30 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
31 | * OF SUCH DAMAGE.
32 | *
33 | * This file is part of the lwIP TCP/IP stack.
34 | *
35 | * Author: Ivan Delamer
36 | *
37 | *
38 | * Please coordinate changes and requests with Ivan Delamer
39 | *
40 | */
41 |
42 | #ifndef LWIP_HDR_LOWPAN6_H
43 | #define LWIP_HDR_LOWPAN6_H
44 |
45 | #include "netif/lowpan6_opts.h"
46 |
47 | #if LWIP_IPV6 && LWIP_6LOWPAN /* don't build if not configured for use in lwipopts.h */
48 |
49 | #include "lwip/pbuf.h"
50 | #include "lwip/ip.h"
51 | #include "lwip/ip_addr.h"
52 | #include "lwip/netif.h"
53 |
54 | #ifdef __cplusplus
55 | extern "C" {
56 | #endif
57 |
58 | /** 1 second period */
59 | #define LOWPAN6_TMR_INTERVAL 1000
60 |
61 | void lowpan6_tmr(void);
62 |
63 | err_t lowpan6_set_context(u8_t index, const ip6_addr_t * context);
64 | err_t lowpan6_set_short_addr(u8_t addr_high, u8_t addr_low);
65 |
66 | #if LWIP_IPV4
67 | err_t lowpan4_output(struct netif *netif, struct pbuf *q, const ip4_addr_t *ipaddr);
68 | #endif /* LWIP_IPV4 */
69 | err_t lowpan6_output(struct netif *netif, struct pbuf *q, const ip6_addr_t *ip6addr);
70 | err_t lowpan6_input(struct pbuf * p, struct netif *netif);
71 | err_t lowpan6_if_init(struct netif *netif);
72 |
73 | /* pan_id in network byte order. */
74 | err_t lowpan6_set_pan_id(u16_t pan_id);
75 |
76 | #if !NO_SYS
77 | err_t tcpip_6lowpan_input(struct pbuf *p, struct netif *inp);
78 | #endif /* !NO_SYS */
79 |
80 | #ifdef __cplusplus
81 | }
82 | #endif
83 |
84 | #endif /* LWIP_IPV6 && LWIP_6LOWPAN */
85 |
86 | #endif /* LWIP_HDR_LOWPAN6_H */
87 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/netif/lowpan6_opts.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * 6LowPAN options list
4 | */
5 |
6 | /*
7 | * Copyright (c) 2015 Inico Technologies Ltd.
8 | * All rights reserved.
9 | *
10 | * Redistribution and use in source and binary forms, with or without modification,
11 | * are permitted provided that the following conditions are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. The name of the author may not be used to endorse or promote products
19 | * derived from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 | * OF SUCH DAMAGE.
31 | *
32 | * This file is part of the lwIP TCP/IP stack.
33 | *
34 | * Author: Ivan Delamer
35 | *
36 | *
37 | * Please coordinate changes and requests with Ivan Delamer
38 | *
39 | */
40 |
41 | #ifndef LWIP_HDR_LOWPAN6_OPTS_H
42 | #define LWIP_HDR_LOWPAN6_OPTS_H
43 |
44 | #include "lwip/opt.h"
45 |
46 | #ifndef LWIP_6LOWPAN
47 | #define LWIP_6LOWPAN 0
48 | #endif
49 |
50 | #ifndef LWIP_6LOWPAN_NUM_CONTEXTS
51 | #define LWIP_6LOWPAN_NUM_CONTEXTS 10
52 | #endif
53 |
54 | #ifndef LWIP_6LOWPAN_INFER_SHORT_ADDRESS
55 | #define LWIP_6LOWPAN_INFER_SHORT_ADDRESS 1
56 | #endif
57 |
58 | #ifndef LWIP_6LOWPAN_IPHC
59 | #define LWIP_6LOWPAN_IPHC 1
60 | #endif
61 |
62 | #ifndef LWIP_6LOWPAN_HW_CRC
63 | #define LWIP_6LOWPAN_HW_CRC 1
64 | #endif
65 |
66 | #ifndef LOWPAN6_DEBUG
67 | #define LOWPAN6_DEBUG LWIP_DBG_OFF
68 | #endif
69 |
70 | #endif /* LWIP_HDR_LOWPAN6_OPTS_H */
71 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/netif/ppp/chap-md5.h:
--------------------------------------------------------------------------------
1 | /*
2 | * chap-md5.h - New CHAP/MD5 implementation.
3 | *
4 | * Copyright (c) 2003 Paul Mackerras. All rights reserved.
5 | *
6 | * Redistribution and use in source and binary forms, with or without
7 | * modification, are permitted provided that the following conditions
8 | * are met:
9 | *
10 | * 1. Redistributions of source code must retain the above copyright
11 | * notice, this list of conditions and the following disclaimer.
12 | *
13 | * 2. The name(s) of the authors of this software must not be used to
14 | * endorse or promote products derived from this software without
15 | * prior written permission.
16 | *
17 | * 3. Redistributions of any form whatsoever must retain the following
18 | * acknowledgment:
19 | * "This product includes software developed by Paul Mackerras
20 | * ".
21 | *
22 | * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
23 | * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
24 | * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
25 | * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
26 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
27 | * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
28 | * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
29 | */
30 |
31 | #include "netif/ppp/ppp_opts.h"
32 | #if PPP_SUPPORT && CHAP_SUPPORT /* don't build if not configured for use in lwipopts.h */
33 |
34 | extern const struct chap_digest_type md5_digest;
35 |
36 | #endif /* PPP_SUPPORT && CHAP_SUPPORT */
37 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/netif/ppp/chap_ms.h:
--------------------------------------------------------------------------------
1 | /*
2 | * chap_ms.h - Challenge Handshake Authentication Protocol definitions.
3 | *
4 | * Copyright (c) 1995 Eric Rosenquist. All rights reserved.
5 | *
6 | * Redistribution and use in source and binary forms, with or without
7 | * modification, are permitted provided that the following conditions
8 | * are met:
9 | *
10 | * 1. Redistributions of source code must retain the above copyright
11 | * notice, this list of conditions and the following disclaimer.
12 | *
13 | * 2. Redistributions in binary form must reproduce the above copyright
14 | * notice, this list of conditions and the following disclaimer in
15 | * the documentation and/or other materials provided with the
16 | * distribution.
17 | *
18 | * 3. The name(s) of the authors of this software must not be used to
19 | * endorse or promote products derived from this software without
20 | * prior written permission.
21 | *
22 | * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
23 | * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
24 | * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
25 | * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
26 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
27 | * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
28 | * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
29 | *
30 | * $Id: chap_ms.h,v 1.13 2004/11/15 22:13:26 paulus Exp $
31 | */
32 |
33 | #include "netif/ppp/ppp_opts.h"
34 | #if PPP_SUPPORT && MSCHAP_SUPPORT /* don't build if not configured for use in lwipopts.h */
35 |
36 | #ifndef CHAPMS_INCLUDE
37 | #define CHAPMS_INCLUDE
38 |
39 | extern const struct chap_digest_type chapms_digest;
40 | extern const struct chap_digest_type chapms2_digest;
41 |
42 | #endif /* CHAPMS_INCLUDE */
43 |
44 | #endif /* PPP_SUPPORT && MSCHAP_SUPPORT */
45 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/netif/ppp/ecp.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ecp.h - Definitions for PPP Encryption Control Protocol.
3 | *
4 | * Copyright (c) 2002 Google, Inc.
5 | * All rights reserved.
6 | *
7 | * Redistribution and use in source and binary forms, with or without
8 | * modification, are permitted provided that the following conditions
9 | * are met:
10 | *
11 | * 1. Redistributions of source code must retain the above copyright
12 | * notice, this list of conditions and the following disclaimer.
13 | *
14 | * 2. Redistributions in binary form must reproduce the above copyright
15 | * notice, this list of conditions and the following disclaimer in
16 | * the documentation and/or other materials provided with the
17 | * distribution.
18 | *
19 | * 3. The name(s) of the authors of this software must not be used to
20 | * endorse or promote products derived from this software without
21 | * prior written permission.
22 | *
23 | * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
24 | * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
25 | * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
26 | * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
27 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
28 | * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
29 | * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
30 | *
31 | * $Id: ecp.h,v 1.2 2003/01/10 07:12:36 fcusack Exp $
32 | */
33 |
34 | #include "netif/ppp/ppp_opts.h"
35 | #if PPP_SUPPORT && ECP_SUPPORT /* don't build if not configured for use in lwipopts.h */
36 |
37 | typedef struct ecp_options {
38 | bool required; /* Is ECP required? */
39 | unsigned enctype; /* Encryption type */
40 | } ecp_options;
41 |
42 | extern fsm ecp_fsm[];
43 | extern ecp_options ecp_wantoptions[];
44 | extern ecp_options ecp_gotoptions[];
45 | extern ecp_options ecp_allowoptions[];
46 | extern ecp_options ecp_hisoptions[];
47 |
48 | extern const struct protent ecp_protent;
49 |
50 | #endif /* PPP_SUPPORT && ECP_SUPPORT */
51 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/netif/ppp/eui64.h:
--------------------------------------------------------------------------------
1 | /*
2 | * eui64.h - EUI64 routines for IPv6CP.
3 | *
4 | * Copyright (c) 1999 Tommi Komulainen. All rights reserved.
5 | *
6 | * Redistribution and use in source and binary forms, with or without
7 | * modification, are permitted provided that the following conditions
8 | * are met:
9 | *
10 | * 1. Redistributions of source code must retain the above copyright
11 | * notice, this list of conditions and the following disclaimer.
12 | *
13 | * 2. Redistributions in binary form must reproduce the above copyright
14 | * notice, this list of conditions and the following disclaimer in
15 | * the documentation and/or other materials provided with the
16 | * distribution.
17 | *
18 | * 3. The name(s) of the authors of this software must not be used to
19 | * endorse or promote products derived from this software without
20 | * prior written permission.
21 | *
22 | * 4. Redistributions of any form whatsoever must retain the following
23 | * acknowledgment:
24 | * "This product includes software developed by Tommi Komulainen
25 | * ".
26 | *
27 | * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
28 | * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
29 | * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
30 | * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
31 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
32 | * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
33 | * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
34 | *
35 | * $Id: eui64.h,v 1.6 2002/12/04 23:03:32 paulus Exp $
36 | */
37 |
38 | #include "netif/ppp/ppp_opts.h"
39 | #if PPP_SUPPORT && PPP_IPV6_SUPPORT /* don't build if not configured for use in lwipopts.h */
40 |
41 | #ifndef EUI64_H
42 | #define EUI64_H
43 |
44 | /*
45 | * @todo:
46 | *
47 | * Maybe this should be done by processing struct in6_addr directly...
48 | */
49 | typedef union
50 | {
51 | u8_t e8[8];
52 | u16_t e16[4];
53 | u32_t e32[2];
54 | } eui64_t;
55 |
56 | #define eui64_iszero(e) (((e).e32[0] | (e).e32[1]) == 0)
57 | #define eui64_equals(e, o) (((e).e32[0] == (o).e32[0]) && \
58 | ((e).e32[1] == (o).e32[1]))
59 | #define eui64_zero(e) (e).e32[0] = (e).e32[1] = 0;
60 |
61 | #define eui64_copy(s, d) memcpy(&(d), &(s), sizeof(eui64_t))
62 |
63 | #define eui64_magic(e) do { \
64 | (e).e32[0] = magic(); \
65 | (e).e32[1] = magic(); \
66 | (e).e8[0] &= ~2; \
67 | } while (0)
68 | #define eui64_magic_nz(x) do { \
69 | eui64_magic(x); \
70 | } while (eui64_iszero(x))
71 | #define eui64_magic_ne(x, y) do { \
72 | eui64_magic(x); \
73 | } while (eui64_equals(x, y))
74 |
75 | #define eui64_get(ll, cp) do { \
76 | eui64_copy((*cp), (ll)); \
77 | (cp) += sizeof(eui64_t); \
78 | } while (0)
79 |
80 | #define eui64_put(ll, cp) do { \
81 | eui64_copy((ll), (*cp)); \
82 | (cp) += sizeof(eui64_t); \
83 | } while (0)
84 |
85 | #define eui64_set32(e, l) do { \
86 | (e).e32[0] = 0; \
87 | (e).e32[1] = lwip_htonl(l); \
88 | } while (0)
89 | #define eui64_setlo32(e, l) eui64_set32(e, l)
90 |
91 | char *eui64_ntoa(eui64_t); /* Returns ascii representation of id */
92 |
93 | #endif /* EUI64_H */
94 | #endif /* PPP_SUPPORT && PPP_IPV6_SUPPORT */
95 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/netif/ppp/pppdebug.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 | * pppdebug.h - System debugging utilities.
3 | *
4 | * Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.
5 | * portions Copyright (c) 1998 Global Election Systems Inc.
6 | * portions Copyright (c) 2001 by Cognizant Pty Ltd.
7 | *
8 | * The authors hereby grant permission to use, copy, modify, distribute,
9 | * and license this software and its documentation for any purpose, provided
10 | * that existing copyright notices are retained in all copies and that this
11 | * notice and the following disclaimer are included verbatim in any
12 | * distributions. No written agreement, license, or royalty fee is required
13 | * for any of the authorized uses.
14 | *
15 | * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR
16 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 | * IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
19 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 | *
26 | ******************************************************************************
27 | * REVISION HISTORY (please don't use tabs!)
28 | *
29 | * 03-01-01 Marc Boucher
30 | * Ported to lwIP.
31 | * 98-07-29 Guy Lancaster , Global Election Systems Inc.
32 | * Original.
33 | *
34 | *****************************************************************************
35 | */
36 |
37 | #include "netif/ppp/ppp_opts.h"
38 | #if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */
39 |
40 | #ifndef PPPDEBUG_H
41 | #define PPPDEBUG_H
42 |
43 | /* Trace levels. */
44 | #define LOG_CRITICAL (PPP_DEBUG | LWIP_DBG_LEVEL_SEVERE)
45 | #define LOG_ERR (PPP_DEBUG | LWIP_DBG_LEVEL_SEVERE)
46 | #define LOG_NOTICE (PPP_DEBUG | LWIP_DBG_LEVEL_WARNING)
47 | #define LOG_WARNING (PPP_DEBUG | LWIP_DBG_LEVEL_WARNING)
48 | #define LOG_INFO (PPP_DEBUG)
49 | #define LOG_DETAIL (PPP_DEBUG)
50 | #define LOG_DEBUG (PPP_DEBUG)
51 |
52 | #if PPP_DEBUG
53 |
54 | #define MAINDEBUG(a) LWIP_DEBUGF(LWIP_DBG_LEVEL_WARNING, a)
55 | #define SYSDEBUG(a) LWIP_DEBUGF(LWIP_DBG_LEVEL_WARNING, a)
56 | #define FSMDEBUG(a) LWIP_DEBUGF(LWIP_DBG_LEVEL_WARNING, a)
57 | #define LCPDEBUG(a) LWIP_DEBUGF(LWIP_DBG_LEVEL_WARNING, a)
58 | #define IPCPDEBUG(a) LWIP_DEBUGF(LWIP_DBG_LEVEL_WARNING, a)
59 | #define IPV6CPDEBUG(a) LWIP_DEBUGF(LWIP_DBG_LEVEL_WARNING, a)
60 | #define UPAPDEBUG(a) LWIP_DEBUGF(LWIP_DBG_LEVEL_WARNING, a)
61 | #define CHAPDEBUG(a) LWIP_DEBUGF(LWIP_DBG_LEVEL_WARNING, a)
62 | #define PPPDEBUG(a, b) LWIP_DEBUGF(a, b)
63 |
64 | #else /* PPP_DEBUG */
65 |
66 | #define MAINDEBUG(a)
67 | #define SYSDEBUG(a)
68 | #define FSMDEBUG(a)
69 | #define LCPDEBUG(a)
70 | #define IPCPDEBUG(a)
71 | #define IPV6CPDEBUG(a)
72 | #define UPAPDEBUG(a)
73 | #define CHAPDEBUG(a)
74 | #define PPPDEBUG(a, b)
75 |
76 | #endif /* PPP_DEBUG */
77 |
78 | #endif /* PPPDEBUG_H */
79 |
80 | #endif /* PPP_SUPPORT */
81 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/netif/slipif.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | *
4 | * SLIP netif API
5 | */
6 |
7 | /*
8 | * Copyright (c) 2001, Swedish Institute of Computer Science.
9 | * All rights reserved.
10 | *
11 | * Redistribution and use in source and binary forms, with or without
12 | * modification, are permitted provided that the following conditions
13 | * are met:
14 | * 1. Redistributions of source code must retain the above copyright
15 | * notice, this list of conditions and the following disclaimer.
16 | * 2. Redistributions in binary form must reproduce the above copyright
17 | * notice, this list of conditions and the following disclaimer in the
18 | * documentation and/or other materials provided with the distribution.
19 | * 3. Neither the name of the Institute nor the names of its contributors
20 | * may be used to endorse or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
24 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 | * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
27 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 | * SUCH DAMAGE.
34 | *
35 | * This file is part of the lwIP TCP/IP stack.
36 | *
37 | * Author: Adam Dunkels
38 | *
39 | */
40 | #ifndef LWIP_HDR_NETIF_SLIPIF_H
41 | #define LWIP_HDR_NETIF_SLIPIF_H
42 |
43 | #include "lwip/opt.h"
44 | #include "lwip/netif.h"
45 |
46 | /** Set this to 1 to start a thread that blocks reading on the serial line
47 | * (using sio_read()).
48 | */
49 | #ifndef SLIP_USE_RX_THREAD
50 | #define SLIP_USE_RX_THREAD !NO_SYS
51 | #endif
52 |
53 | /** Set this to 1 to enable functions to pass in RX bytes from ISR context.
54 | * If enabled, slipif_received_byte[s]() process incoming bytes and put assembled
55 | * packets on a queue, which is fed into lwIP from slipif_poll().
56 | * If disabled, slipif_poll() polls the serial line (using sio_tryread()).
57 | */
58 | #ifndef SLIP_RX_FROM_ISR
59 | #define SLIP_RX_FROM_ISR 0
60 | #endif
61 |
62 | /** Set this to 1 (default for SLIP_RX_FROM_ISR) to queue incoming packets
63 | * received by slipif_received_byte[s]() as long as PBUF_POOL pbufs are available.
64 | * If disabled, packets will be dropped if more than one packet is received.
65 | */
66 | #ifndef SLIP_RX_QUEUE
67 | #define SLIP_RX_QUEUE SLIP_RX_FROM_ISR
68 | #endif
69 |
70 | #ifdef __cplusplus
71 | extern "C" {
72 | #endif
73 |
74 | err_t slipif_init(struct netif * netif);
75 | void slipif_poll(struct netif *netif);
76 | #if SLIP_RX_FROM_ISR
77 | void slipif_process_rxqueue(struct netif *netif);
78 | void slipif_received_byte(struct netif *netif, u8_t data);
79 | void slipif_received_bytes(struct netif *netif, u8_t *data, u8_t len);
80 | #endif /* SLIP_RX_FROM_ISR */
81 |
82 | #ifdef __cplusplus
83 | }
84 | #endif
85 |
86 | #endif /* LWIP_HDR_NETIF_SLIPIF_H */
87 |
88 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/posix/errno.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * This file is a posix wrapper for lwip/errno.h.
4 | */
5 |
6 | /*
7 | * Redistribution and use in source and binary forms, with or without modification,
8 | * are permitted provided that the following conditions are met:
9 | *
10 | * 1. Redistributions of source code must retain the above copyright notice,
11 | * this list of conditions and the following disclaimer.
12 | * 2. Redistributions in binary form must reproduce the above copyright notice,
13 | * this list of conditions and the following disclaimer in the documentation
14 | * and/or other materials provided with the distribution.
15 | * 3. The name of the author may not be used to endorse or promote products
16 | * derived from this software without specific prior written permission.
17 | *
18 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
19 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
21 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
23 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
26 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
27 | * OF SUCH DAMAGE.
28 | *
29 | * This file is part of the lwIP TCP/IP stack.
30 | *
31 | */
32 |
33 | #include "lwip/errno.h"
34 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/posix/netdb.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * This file is a posix wrapper for lwip/netdb.h.
4 | */
5 |
6 | /*
7 | * Redistribution and use in source and binary forms, with or without modification,
8 | * are permitted provided that the following conditions are met:
9 | *
10 | * 1. Redistributions of source code must retain the above copyright notice,
11 | * this list of conditions and the following disclaimer.
12 | * 2. Redistributions in binary form must reproduce the above copyright notice,
13 | * this list of conditions and the following disclaimer in the documentation
14 | * and/or other materials provided with the distribution.
15 | * 3. The name of the author may not be used to endorse or promote products
16 | * derived from this software without specific prior written permission.
17 | *
18 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
19 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
21 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
23 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
26 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
27 | * OF SUCH DAMAGE.
28 | *
29 | * This file is part of the lwIP TCP/IP stack.
30 | *
31 | */
32 |
33 | #include "lwip/netdb.h"
34 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/posix/sys/socket.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * This file is a posix wrapper for lwip/sockets.h.
4 | */
5 |
6 | /*
7 | * Redistribution and use in source and binary forms, with or without modification,
8 | * are permitted provided that the following conditions are met:
9 | *
10 | * 1. Redistributions of source code must retain the above copyright notice,
11 | * this list of conditions and the following disclaimer.
12 | * 2. Redistributions in binary form must reproduce the above copyright notice,
13 | * this list of conditions and the following disclaimer in the documentation
14 | * and/or other materials provided with the distribution.
15 | * 3. The name of the author may not be used to endorse or promote products
16 | * derived from this software without specific prior written permission.
17 | *
18 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
19 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
21 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
23 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
26 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
27 | * OF SUCH DAMAGE.
28 | *
29 | * This file is part of the lwIP TCP/IP stack.
30 | *
31 | */
32 |
33 | #include "lwip/sockets.h"
34 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/netif/ppp/eui64.c:
--------------------------------------------------------------------------------
1 | /*
2 | * eui64.c - EUI64 routines for IPv6CP.
3 | *
4 | * Copyright (c) 1999 Tommi Komulainen. All rights reserved.
5 | *
6 | * Redistribution and use in source and binary forms, with or without
7 | * modification, are permitted provided that the following conditions
8 | * are met:
9 | *
10 | * 1. Redistributions of source code must retain the above copyright
11 | * notice, this list of conditions and the following disclaimer.
12 | *
13 | * 2. Redistributions in binary form must reproduce the above copyright
14 | * notice, this list of conditions and the following disclaimer in
15 | * the documentation and/or other materials provided with the
16 | * distribution.
17 | *
18 | * 3. The name(s) of the authors of this software must not be used to
19 | * endorse or promote products derived from this software without
20 | * prior written permission.
21 | *
22 | * 4. Redistributions of any form whatsoever must retain the following
23 | * acknowledgment:
24 | * "This product includes software developed by Tommi Komulainen
25 | * ".
26 | *
27 | * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
28 | * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
29 | * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
30 | * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
31 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
32 | * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
33 | * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
34 | *
35 | * $Id: eui64.c,v 1.6 2002/12/04 23:03:32 paulus Exp $
36 | */
37 |
38 | #include "netif/ppp/ppp_opts.h"
39 | #if PPP_SUPPORT && PPP_IPV6_SUPPORT /* don't build if not configured for use in lwipopts.h */
40 |
41 | #include "netif/ppp/ppp_impl.h"
42 | #include "netif/ppp/eui64.h"
43 |
44 | /*
45 | * eui64_ntoa - Make an ascii representation of an interface identifier
46 | */
47 | char *eui64_ntoa(eui64_t e) {
48 | static char buf[20];
49 |
50 | sprintf(buf, "%02x%02x:%02x%02x:%02x%02x:%02x%02x",
51 | e.e8[0], e.e8[1], e.e8[2], e.e8[3],
52 | e.e8[4], e.e8[5], e.e8[6], e.e8[7]);
53 | return buf;
54 | }
55 |
56 | #endif /* PPP_SUPPORT && PPP_IPV6_SUPPORT */
57 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/netif/ppp/pppcrypt.c:
--------------------------------------------------------------------------------
1 | /*
2 | * pppcrypt.c - PPP/DES linkage for MS-CHAP and EAP SRP-SHA1
3 | *
4 | * Extracted from chap_ms.c by James Carlson.
5 | *
6 | * Copyright (c) 1995 Eric Rosenquist. All rights reserved.
7 | *
8 | * Redistribution and use in source and binary forms, with or without
9 | * modification, are permitted provided that the following conditions
10 | * are met:
11 | *
12 | * 1. Redistributions of source code must retain the above copyright
13 | * notice, this list of conditions and the following disclaimer.
14 | *
15 | * 2. Redistributions in binary form must reproduce the above copyright
16 | * notice, this list of conditions and the following disclaimer in
17 | * the documentation and/or other materials provided with the
18 | * distribution.
19 | *
20 | * 3. The name(s) of the authors of this software must not be used to
21 | * endorse or promote products derived from this software without
22 | * prior written permission.
23 | *
24 | * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
25 | * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
26 | * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
27 | * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
28 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
29 | * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
30 | * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
31 | */
32 |
33 | #include "netif/ppp/ppp_opts.h"
34 | #if PPP_SUPPORT && MSCHAP_SUPPORT /* don't build if not necessary */
35 |
36 | #include "netif/ppp/ppp_impl.h"
37 |
38 | #include "netif/ppp/pppcrypt.h"
39 |
40 |
41 | static u_char pppcrypt_get_7bits(u_char *input, int startBit) {
42 | unsigned int word;
43 |
44 | word = (unsigned)input[startBit / 8] << 8;
45 | word |= (unsigned)input[startBit / 8 + 1];
46 |
47 | word >>= 15 - (startBit % 8 + 7);
48 |
49 | return word & 0xFE;
50 | }
51 |
52 | /* IN 56 bit DES key missing parity bits
53 | * OUT 64 bit DES key with parity bits added
54 | */
55 | void pppcrypt_56_to_64_bit_key(u_char *key, u_char * des_key) {
56 | des_key[0] = pppcrypt_get_7bits(key, 0);
57 | des_key[1] = pppcrypt_get_7bits(key, 7);
58 | des_key[2] = pppcrypt_get_7bits(key, 14);
59 | des_key[3] = pppcrypt_get_7bits(key, 21);
60 | des_key[4] = pppcrypt_get_7bits(key, 28);
61 | des_key[5] = pppcrypt_get_7bits(key, 35);
62 | des_key[6] = pppcrypt_get_7bits(key, 42);
63 | des_key[7] = pppcrypt_get_7bits(key, 49);
64 | }
65 |
66 | #endif /* PPP_SUPPORT && MSCHAP_SUPPORT */
67 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/system/arch/bpstruct.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3 | * All rights reserved.
4 | *
5 | * Redistribution and use in source and binary forms, with or without modification,
6 | * are permitted provided that the following conditions are met:
7 | *
8 | * 1. Redistributions of source code must retain the above copyright notice,
9 | * this list of conditions and the following disclaimer.
10 | * 2. Redistributions in binary form must reproduce the above copyright notice,
11 | * this list of conditions and the following disclaimer in the documentation
12 | * and/or other materials provided with the distribution.
13 | * 3. The name of the author may not be used to endorse or promote products
14 | * derived from this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25 | * OF SUCH DAMAGE.
26 | *
27 | * This file is part of the lwIP TCP/IP stack.
28 | *
29 | * Author: Adam Dunkels
30 | *
31 | */
32 |
33 | #if defined(__IAR_SYSTEMS_ICC__)
34 | #pragma pack(1)
35 | #endif
36 |
37 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/system/arch/cc.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3 | * All rights reserved.
4 | *
5 | * Redistribution and use in source and binary forms, with or without modification,
6 | * are permitted provided that the following conditions are met:
7 | *
8 | * 1. Redistributions of source code must retain the above copyright notice,
9 | * this list of conditions and the following disclaimer.
10 | * 2. Redistributions in binary form must reproduce the above copyright notice,
11 | * this list of conditions and the following disclaimer in the documentation
12 | * and/or other materials provided with the distribution.
13 | * 3. The name of the author may not be used to endorse or promote products
14 | * derived from this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25 | * OF SUCH DAMAGE.
26 | *
27 | * This file is part of the lwIP TCP/IP stack.
28 | *
29 | * Author: Adam Dunkels
30 | *
31 | */
32 | #ifndef __CC_H__
33 | #define __CC_H__
34 |
35 | #include "cpu.h"
36 | #include
37 | #include
38 |
39 | typedef int sys_prot_t;
40 |
41 | #define LWIP_PROVIDE_ERRNO
42 |
43 | #if defined (__GNUC__) & !defined (__CC_ARM)
44 |
45 | #define LWIP_TIMEVAL_PRIVATE 0
46 | #include
47 |
48 | #endif
49 |
50 | /* define compiler specific symbols */
51 | #if defined (__ICCARM__)
52 |
53 | #define PACK_STRUCT_BEGIN
54 | #define PACK_STRUCT_STRUCT
55 | #define PACK_STRUCT_END
56 | #define PACK_STRUCT_FIELD(x) x
57 | #define PACK_STRUCT_USE_INCLUDES
58 |
59 | #elif defined (__GNUC__)
60 |
61 | #define PACK_STRUCT_BEGIN
62 | #define PACK_STRUCT_STRUCT __attribute__ ((__packed__))
63 | #define PACK_STRUCT_END
64 | #define PACK_STRUCT_FIELD(x) x
65 |
66 | #elif defined (__CC_ARM)
67 |
68 | #define PACK_STRUCT_BEGIN __packed
69 | #define PACK_STRUCT_STRUCT
70 | #define PACK_STRUCT_END
71 | #define PACK_STRUCT_FIELD(x) x
72 |
73 | #elif defined (__TASKING__)
74 |
75 | #define PACK_STRUCT_BEGIN
76 | #define PACK_STRUCT_STRUCT
77 | #define PACK_STRUCT_END
78 | #define PACK_STRUCT_FIELD(x) x
79 |
80 | #endif
81 |
82 | #define LWIP_PLATFORM_ASSERT(x) do {printf("Assertion \"%s\" failed at line %d in %s\n", \
83 | x, __LINE__, __FILE__); } while(0)
84 |
85 | /* Define random number generator function */
86 | #define LWIP_RAND() ((u32_t)rand())
87 |
88 | #endif /* __CC_H__ */
89 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/system/arch/cpu.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3 | * All rights reserved.
4 | *
5 | * Redistribution and use in source and binary forms, with or without modification,
6 | * are permitted provided that the following conditions are met:
7 | *
8 | * 1. Redistributions of source code must retain the above copyright notice,
9 | * this list of conditions and the following disclaimer.
10 | * 2. Redistributions in binary form must reproduce the above copyright notice,
11 | * this list of conditions and the following disclaimer in the documentation
12 | * and/or other materials provided with the distribution.
13 | * 3. The name of the author may not be used to endorse or promote products
14 | * derived from this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25 | * OF SUCH DAMAGE.
26 | *
27 | * This file is part of the lwIP TCP/IP stack.
28 | *
29 | * Author: Adam Dunkels
30 | *
31 | */
32 | #ifndef __CPU_H__
33 | #define __CPU_H__
34 |
35 | #ifndef BYTE_ORDER
36 | #define BYTE_ORDER LITTLE_ENDIAN
37 | #endif
38 |
39 | #endif /* __CPU_H__ */
40 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/system/arch/epstruct.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3 | * All rights reserved.
4 | *
5 | * Redistribution and use in source and binary forms, with or without modification,
6 | * are permitted provided that the following conditions are met:
7 | *
8 | * 1. Redistributions of source code must retain the above copyright notice,
9 | * this list of conditions and the following disclaimer.
10 | * 2. Redistributions in binary form must reproduce the above copyright notice,
11 | * this list of conditions and the following disclaimer in the documentation
12 | * and/or other materials provided with the distribution.
13 | * 3. The name of the author may not be used to endorse or promote products
14 | * derived from this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25 | * OF SUCH DAMAGE.
26 | *
27 | * This file is part of the lwIP TCP/IP stack.
28 | *
29 | * Author: Adam Dunkels
30 | *
31 | */
32 |
33 | #if defined(__IAR_SYSTEMS_ICC__)
34 | #pragma pack()
35 | #endif
36 |
37 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/system/arch/init.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3 | * All rights reserved.
4 | *
5 | * Redistribution and use in source and binary forms, with or without modification,
6 | * are permitted provided that the following conditions are met:
7 | *
8 | * 1. Redistributions of source code must retain the above copyright notice,
9 | * this list of conditions and the following disclaimer.
10 | * 2. Redistributions in binary form must reproduce the above copyright notice,
11 | * this list of conditions and the following disclaimer in the documentation
12 | * and/or other materials provided with the distribution.
13 | * 3. The name of the author may not be used to endorse or promote products
14 | * derived from this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25 | * OF SUCH DAMAGE.
26 | *
27 | * This file is part of the lwIP TCP/IP stack.
28 | *
29 | * Author: Adam Dunkels
30 | *
31 | */
32 | #ifndef __ARCH_INIT_H__
33 | #define __ARCH_INIT_H__
34 |
35 | #define TCPIP_INIT_DONE(arg) tcpip_init_done(arg)
36 |
37 | void tcpip_init_done(void *);
38 | int wait_for_tcpip_init(void);
39 |
40 | #endif /* __ARCH_INIT_H__ */
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/system/arch/lib.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3 | * All rights reserved.
4 | *
5 | * Redistribution and use in source and binary forms, with or without modification,
6 | * are permitted provided that the following conditions are met:
7 | *
8 | * 1. Redistributions of source code must retain the above copyright notice,
9 | * this list of conditions and the following disclaimer.
10 | * 2. Redistributions in binary form must reproduce the above copyright notice,
11 | * this list of conditions and the following disclaimer in the documentation
12 | * and/or other materials provided with the distribution.
13 | * 3. The name of the author may not be used to endorse or promote products
14 | * derived from this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25 | * OF SUCH DAMAGE.
26 | *
27 | * This file is part of the lwIP TCP/IP stack.
28 | *
29 | * Author: Adam Dunkels
30 | *
31 | */
32 | #ifndef __LIB_H__
33 | #define __LIB_H__
34 |
35 | #include
36 |
37 |
38 | #endif /* __LIB_H__ */
39 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/system/arch/perf.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3 | * All rights reserved.
4 | *
5 | * Redistribution and use in source and binary forms, with or without modification,
6 | * are permitted provided that the following conditions are met:
7 | *
8 | * 1. Redistributions of source code must retain the above copyright notice,
9 | * this list of conditions and the following disclaimer.
10 | * 2. Redistributions in binary form must reproduce the above copyright notice,
11 | * this list of conditions and the following disclaimer in the documentation
12 | * and/or other materials provided with the distribution.
13 | * 3. The name of the author may not be used to endorse or promote products
14 | * derived from this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25 | * OF SUCH DAMAGE.
26 | *
27 | * This file is part of the lwIP TCP/IP stack.
28 | *
29 | * Author: Adam Dunkels
30 | *
31 | */
32 | #ifndef __PERF_H__
33 | #define __PERF_H__
34 |
35 | #define PERF_START /* null definition */
36 | #define PERF_STOP(x) /* null definition */
37 |
38 | #endif /* __PERF_H__ */
39 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/system/arch/sys_arch.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3 | * All rights reserved.
4 | *
5 | * Redistribution and use in source and binary forms, with or without modification,
6 | * are permitted provided that the following conditions are met:
7 | *
8 | * 1. Redistributions of source code must retain the above copyright notice,
9 | * this list of conditions and the following disclaimer.
10 | * 2. Redistributions in binary form must reproduce the above copyright notice,
11 | * this list of conditions and the following disclaimer in the documentation
12 | * and/or other materials provided with the distribution.
13 | * 3. The name of the author may not be used to endorse or promote products
14 | * derived from this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25 | * OF SUCH DAMAGE.
26 | *
27 | * This file is part of the lwIP TCP/IP stack.
28 | *
29 | * Author: Adam Dunkels
30 | *
31 | */
32 | #ifndef __SYS_ARCH_H__
33 | #define __SYS_ARCH_H__
34 |
35 | #include "lwip/opt.h"
36 |
37 | #if (NO_SYS != 0)
38 | #error "NO_SYS need to be set to 0 to use threaded API"
39 | #endif
40 |
41 | #include "cmsis_os.h"
42 |
43 | #ifdef __cplusplus
44 | extern "C" {
45 | #endif
46 |
47 | #if (osCMSIS < 0x20000U)
48 |
49 | #define SYS_MBOX_NULL (osMessageQId)0
50 | #define SYS_SEM_NULL (osSemaphoreId)0
51 |
52 | typedef osSemaphoreId sys_sem_t;
53 | typedef osSemaphoreId sys_mutex_t;
54 | typedef osMessageQId sys_mbox_t;
55 | typedef osThreadId sys_thread_t;
56 | #else
57 |
58 | #define SYS_MBOX_NULL (osMessageQueueId_t)0
59 | #define SYS_SEM_NULL (osSemaphoreId_t)0
60 |
61 | typedef osSemaphoreId_t sys_sem_t;
62 | typedef osSemaphoreId_t sys_mutex_t;
63 | typedef osMessageQueueId_t sys_mbox_t;
64 | typedef osThreadId_t sys_thread_t;
65 | #endif
66 |
67 | #ifdef __cplusplus
68 | }
69 | #endif
70 |
71 | #endif /* __SYS_ARCH_H__ */
72 |
73 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # STM32H745_Ethernet
2 |
3 | Trying to get Ethernet, LWIP and FreeRTOS working on the STM32H745. Testing on the NUCLEO-H745ZI-Q using FW_1.7 and the STM32CubeIDE.
4 |
5 | ## Instructions on how to get started:
6 | * [LWIP without RTOS](Documentation/lwip_nortos.md)
7 | * [LWIP with RTOS](Dcumentation/lwip_rtos.md)
8 |
9 | ## Bugs and improvements
10 | * [SysTick not increasing ticks](Documentation/no_systick.md)
11 | * [No DHCP IP when starting without ethernet cable](Documentation/dhcp_nocable.md)
12 |
13 | ## Current status:
14 | * RTOS works (blinky)
15 | * LWIP works (nucleo board gets IP from DHCP on router)
16 | * HTTP test server works (navigate to http://\/index.html for demo)
17 |
18 | ---
19 |
20 |
21 |
22 |
23 |
24 | ---
25 |
26 | ---
27 |
28 |
29 |
--------------------------------------------------------------------------------