├── .cproject
├── .gitattributes
├── .gitignore
├── .gitmodules
├── .mxproject
├── .project
├── .settings
├── language.settings.xml
└── org.eclipse.cdt.codan.core.prefs
├── COPYING
├── Drivers
├── BSP
│ └── Components
│ │ └── dp83848
│ │ ├── dp83848.c
│ │ └── dp83848.h
├── CMSIS
│ ├── Device
│ │ └── ST
│ │ │ └── STM32F4xx
│ │ │ ├── Include
│ │ │ ├── stm32f401xc.h
│ │ │ ├── stm32f401xe.h
│ │ │ ├── stm32f407xx.h
│ │ │ ├── stm32f411xe.h
│ │ │ ├── stm32f412vx.h
│ │ │ ├── stm32f429xx.h
│ │ │ ├── stm32f446xx.h
│ │ │ ├── stm32f4xx.h
│ │ │ └── system_stm32f4xx.h
│ │ │ └── LICENSE.txt
│ ├── Include
│ │ ├── cachel1_armv7.h
│ │ ├── cmsis_armcc.h
│ │ ├── cmsis_armclang.h
│ │ ├── cmsis_armclang_ltm.h
│ │ ├── cmsis_compiler.h
│ │ ├── cmsis_gcc.h
│ │ ├── cmsis_iccarm.h
│ │ ├── cmsis_version.h
│ │ ├── core_armv81mml.h
│ │ ├── core_armv8mbl.h
│ │ ├── core_armv8mml.h
│ │ ├── core_cm0.h
│ │ ├── core_cm0plus.h
│ │ ├── core_cm1.h
│ │ ├── core_cm23.h
│ │ ├── core_cm3.h
│ │ ├── core_cm33.h
│ │ ├── core_cm35p.h
│ │ ├── core_cm4.h
│ │ ├── core_cm55.h
│ │ ├── core_cm7.h
│ │ ├── core_cm85.h
│ │ ├── core_sc000.h
│ │ ├── core_sc300.h
│ │ ├── core_starmc1.h
│ │ ├── mpu_armv7.h
│ │ ├── mpu_armv8.h
│ │ ├── pac_armv81.h
│ │ ├── pmu_armv8.h
│ │ └── tz_context.h
│ └── LICENSE.txt
├── FATFS
│ ├── App
│ │ ├── fatfs.c
│ │ └── fatfs.h
│ └── Target
│ │ ├── bsp_driver_sd.c
│ │ ├── bsp_driver_sd.h
│ │ ├── sd_diskio.c
│ │ └── sd_diskio.h
└── STM32F4xx_HAL_Driver
│ ├── Inc
│ ├── Legacy
│ │ └── stm32_hal_legacy.h
│ ├── stm32f4xx_hal.h
│ ├── stm32f4xx_hal_adc.h
│ ├── stm32f4xx_hal_adc_ex.h
│ ├── stm32f4xx_hal_can.h
│ ├── stm32f4xx_hal_cortex.h
│ ├── stm32f4xx_hal_dac.h
│ ├── stm32f4xx_hal_dac_ex.h
│ ├── stm32f4xx_hal_def.h
│ ├── stm32f4xx_hal_dma.h
│ ├── stm32f4xx_hal_dma_ex.h
│ ├── stm32f4xx_hal_eth.h
│ ├── stm32f4xx_hal_exti.h
│ ├── stm32f4xx_hal_flash.h
│ ├── stm32f4xx_hal_flash_ex.h
│ ├── stm32f4xx_hal_flash_ramfunc.h
│ ├── stm32f4xx_hal_fmpi2c.h
│ ├── stm32f4xx_hal_fmpi2c_ex.h
│ ├── stm32f4xx_hal_gpio.h
│ ├── stm32f4xx_hal_gpio_ex.h
│ ├── stm32f4xx_hal_i2c.h
│ ├── stm32f4xx_hal_i2c_ex.h
│ ├── stm32f4xx_hal_i2s.h
│ ├── stm32f4xx_hal_i2s_ex.h
│ ├── stm32f4xx_hal_mmc.h
│ ├── stm32f4xx_hal_pcd.h
│ ├── stm32f4xx_hal_pcd_ex.h
│ ├── stm32f4xx_hal_pwr.h
│ ├── stm32f4xx_hal_pwr_ex.h
│ ├── stm32f4xx_hal_rcc.h
│ ├── stm32f4xx_hal_rcc_ex.h
│ ├── stm32f4xx_hal_rtc.h
│ ├── stm32f4xx_hal_rtc_ex.h
│ ├── stm32f4xx_hal_sd.h
│ ├── stm32f4xx_hal_spi.h
│ ├── stm32f4xx_hal_tim.h
│ ├── stm32f4xx_hal_tim_ex.h
│ ├── stm32f4xx_hal_uart.h
│ ├── stm32f4xx_ll_adc.h
│ ├── stm32f4xx_ll_bus.h
│ ├── stm32f4xx_ll_cortex.h
│ ├── stm32f4xx_ll_dac.h
│ ├── stm32f4xx_ll_dma.h
│ ├── stm32f4xx_ll_exti.h
│ ├── stm32f4xx_ll_gpio.h
│ ├── stm32f4xx_ll_i2c.h
│ ├── stm32f4xx_ll_pwr.h
│ ├── stm32f4xx_ll_rcc.h
│ ├── stm32f4xx_ll_rtc.h
│ ├── stm32f4xx_ll_sdmmc.h
│ ├── stm32f4xx_ll_spi.h
│ ├── stm32f4xx_ll_system.h
│ ├── stm32f4xx_ll_tim.h
│ ├── stm32f4xx_ll_usart.h
│ ├── stm32f4xx_ll_usb.h
│ └── stm32f4xx_ll_utils.h
│ ├── LICENSE.txt
│ └── Src
│ ├── stm32f4xx_hal.c
│ ├── stm32f4xx_hal_adc.c
│ ├── stm32f4xx_hal_adc_ex.c
│ ├── stm32f4xx_hal_can.c
│ ├── stm32f4xx_hal_cortex.c
│ ├── stm32f4xx_hal_dac.c
│ ├── stm32f4xx_hal_dac_ex.c
│ ├── stm32f4xx_hal_dma.c
│ ├── stm32f4xx_hal_dma_ex.c
│ ├── stm32f4xx_hal_eth.c
│ ├── stm32f4xx_hal_exti.c
│ ├── stm32f4xx_hal_flash.c
│ ├── stm32f4xx_hal_flash_ex.c
│ ├── stm32f4xx_hal_flash_ramfunc.c
│ ├── stm32f4xx_hal_fmpi2c.c
│ ├── stm32f4xx_hal_fmpi2c_ex.c
│ ├── stm32f4xx_hal_gpio.c
│ ├── stm32f4xx_hal_i2c.c
│ ├── stm32f4xx_hal_i2c_ex.c
│ ├── stm32f4xx_hal_i2s.c
│ ├── stm32f4xx_hal_i2s_ex.c
│ ├── stm32f4xx_hal_mmc.c
│ ├── stm32f4xx_hal_pcd.c
│ ├── stm32f4xx_hal_pcd_ex.c
│ ├── stm32f4xx_hal_pwr.c
│ ├── stm32f4xx_hal_pwr_ex.c
│ ├── stm32f4xx_hal_rcc.c
│ ├── stm32f4xx_hal_rcc_ex.c
│ ├── stm32f4xx_hal_rtc.c
│ ├── stm32f4xx_hal_rtc_ex.c
│ ├── stm32f4xx_hal_sd.c
│ ├── stm32f4xx_hal_spi.c
│ ├── stm32f4xx_hal_tim.c
│ ├── stm32f4xx_hal_tim_ex.c
│ ├── stm32f4xx_hal_uart.c
│ ├── stm32f4xx_ll_adc.c
│ ├── stm32f4xx_ll_sdmmc.c
│ └── stm32f4xx_ll_usb.c
├── FLEXI_STM32F446RETX_BL_FLASH.ld
├── FatFs
├── 00history.txt
├── 00readme.txt
├── STM
│ ├── diskio.c
│ ├── ff_gen_drv.c
│ └── ff_gen_drv.h
├── diskio.h
├── ff.c
├── ff.h
├── ffconf.h
├── ffsystem.c
└── ffunicode.c
├── GRBL Driver STM32F401 Debug F407 25MHz ETH.launch
├── GRBL Driver STM32F401 Debug F412.launch
├── GRBL Driver STM32F401 Debug F446 Nucleo144.launch
├── GRBL Driver STM32F4xx Debug F401 Blackpill.launch
├── GRBL Driver STM32F4xx Debug F401 Nucleo64.launch
├── GRBL Driver STM32F4xx Debug F407 8MHz.launch
├── GRBL Driver STM32F4xx Debug F411 Blackpill.launch
├── GRBL Driver STM32F4xx Debug F411 Nucleo64.launch
├── GRBL Driver STM32F4xx Debug F446 8 MHz.launch
├── GRBL Driver STM32F4xx Debug F446 Nucleo64.launch
├── GRBL Driver STM32F4xx Release F401 Blackpill.launch
├── GRBL Driver STM32F4xx Release F401 Nucleo64.launch
├── GRBL Driver STM32F4xx Release F407 25MHz.launch
├── GRBL Driver STM32F4xx Release F407 32K Bootloader.launch
├── GRBL Driver STM32F4xx Release F407 8MHz.launch
├── GRBL Driver STM32F4xx Release F411 Blackpill.launch
├── GRBL Driver STM32F4xx Release F411 Nucleo64.launch
├── GRBL Driver STM32F4xx Release F446 Nucleo64.launch
├── GRBL Driver STM32Fxx Release F446 8 MHz.launch
├── Inc
├── driver.h
├── enet.h
├── flash.h
├── i2c.h
├── main.h
├── my_machine.h
├── pwm.h
├── serial.h
├── spi.h
├── stm32f4xx_hal_conf.h
├── stm32f4xx_it.h
├── timers.h
├── usb_serial.h
└── w5x00_ll_driver.h
├── LWIP
├── App
│ ├── lwip.c
│ └── lwip.h
└── dp83848
│ └── Target
│ ├── ethernetif.c
│ ├── ethernetif.h
│ └── lwipopts.h
├── Middlewares
├── ST
│ └── STM32_USB_Device_Library
│ │ ├── Class
│ │ └── CDC
│ │ │ ├── Inc
│ │ │ └── usbd_cdc.h
│ │ │ └── Src
│ │ │ └── usbd_cdc.c
│ │ ├── Core
│ │ ├── Inc
│ │ │ ├── usbd_core.h
│ │ │ ├── usbd_ctlreq.h
│ │ │ ├── usbd_def.h
│ │ │ └── usbd_ioreq.h
│ │ └── Src
│ │ │ ├── usbd_core.c
│ │ │ ├── usbd_ctlreq.c
│ │ │ └── usbd_ioreq.c
│ │ └── LICENSE.txt
└── Third_Party
│ └── LwIP
│ ├── src
│ ├── api
│ │ ├── api_lib.c
│ │ ├── api_msg.c
│ │ ├── err.c
│ │ ├── if_api.c
│ │ ├── netbuf.c
│ │ ├── netdb.c
│ │ ├── netifapi.c
│ │ ├── sockets.c
│ │ └── tcpip.c
│ ├── apps
│ │ ├── altcp_tls
│ │ │ ├── altcp_tls_mbedtls.c
│ │ │ ├── altcp_tls_mbedtls_mem.c
│ │ │ ├── altcp_tls_mbedtls_mem.h
│ │ │ └── altcp_tls_mbedtls_structs.h
│ │ ├── mdns
│ │ │ └── mdns.c
│ │ └── mqtt
│ │ │ └── mqtt.c
│ ├── core
│ │ ├── altcp.c
│ │ ├── altcp_alloc.c
│ │ ├── altcp_tcp.c
│ │ ├── def.c
│ │ ├── dns.c
│ │ ├── inet_chksum.c
│ │ ├── init.c
│ │ ├── ip.c
│ │ ├── ipv4
│ │ │ ├── autoip.c
│ │ │ ├── dhcp.c
│ │ │ ├── etharp.c
│ │ │ ├── icmp.c
│ │ │ ├── igmp.c
│ │ │ ├── ip4.c
│ │ │ ├── ip4_addr.c
│ │ │ └── ip4_frag.c
│ │ ├── ipv6
│ │ │ ├── dhcp6.c
│ │ │ ├── ethip6.c
│ │ │ ├── icmp6.c
│ │ │ ├── inet6.c
│ │ │ ├── ip6.c
│ │ │ ├── ip6_addr.c
│ │ │ ├── ip6_frag.c
│ │ │ ├── mld6.c
│ │ │ └── nd6.c
│ │ ├── mem.c
│ │ ├── memp.c
│ │ ├── netif.c
│ │ ├── pbuf.c
│ │ ├── raw.c
│ │ ├── stats.c
│ │ ├── sys.c
│ │ ├── tcp.c
│ │ ├── tcp_in.c
│ │ ├── tcp_out.c
│ │ ├── timeouts.c
│ │ └── udp.c
│ ├── include
│ │ ├── compat
│ │ │ ├── posix
│ │ │ │ ├── arpa
│ │ │ │ │ └── inet.h
│ │ │ │ ├── net
│ │ │ │ │ └── if.h
│ │ │ │ ├── netdb.h
│ │ │ │ └── sys
│ │ │ │ │ └── socket.h
│ │ │ └── stdc
│ │ │ │ └── errno.h
│ │ ├── lwip
│ │ │ ├── altcp.h
│ │ │ ├── altcp_tcp.h
│ │ │ ├── altcp_tls.h
│ │ │ ├── api.h
│ │ │ ├── apps
│ │ │ │ ├── altcp_proxyconnect.h
│ │ │ │ ├── altcp_tls_mbedtls_opts.h
│ │ │ │ ├── fs.h
│ │ │ │ ├── http_client.h
│ │ │ │ ├── httpd.h
│ │ │ │ ├── httpd_opts.h
│ │ │ │ ├── lwiperf.h
│ │ │ │ ├── mdns.h
│ │ │ │ ├── mdns_opts.h
│ │ │ │ ├── mdns_priv.h
│ │ │ │ ├── mqtt.h
│ │ │ │ ├── mqtt_opts.h
│ │ │ │ ├── mqtt_priv.h
│ │ │ │ ├── netbiosns.h
│ │ │ │ ├── netbiosns_opts.h
│ │ │ │ ├── smtp.h
│ │ │ │ ├── smtp_opts.h
│ │ │ │ ├── snmp.h
│ │ │ │ ├── snmp_core.h
│ │ │ │ ├── snmp_mib2.h
│ │ │ │ ├── snmp_opts.h
│ │ │ │ ├── snmp_scalar.h
│ │ │ │ ├── snmp_snmpv2_framework.h
│ │ │ │ ├── snmp_snmpv2_usm.h
│ │ │ │ ├── snmp_table.h
│ │ │ │ ├── snmp_threadsync.h
│ │ │ │ ├── snmpv3.h
│ │ │ │ ├── sntp.h
│ │ │ │ ├── sntp_opts.h
│ │ │ │ ├── tftp_opts.h
│ │ │ │ └── tftp_server.h
│ │ │ ├── arch.h
│ │ │ ├── autoip.h
│ │ │ ├── debug.h
│ │ │ ├── def.h
│ │ │ ├── dhcp.h
│ │ │ ├── dhcp6.h
│ │ │ ├── dns.h
│ │ │ ├── err.h
│ │ │ ├── errno.h
│ │ │ ├── etharp.h
│ │ │ ├── ethip6.h
│ │ │ ├── icmp.h
│ │ │ ├── icmp6.h
│ │ │ ├── if_api.h
│ │ │ ├── igmp.h
│ │ │ ├── inet.h
│ │ │ ├── inet_chksum.h
│ │ │ ├── init.h
│ │ │ ├── ip.h
│ │ │ ├── ip4.h
│ │ │ ├── ip4_addr.h
│ │ │ ├── ip4_frag.h
│ │ │ ├── ip6.h
│ │ │ ├── ip6_addr.h
│ │ │ ├── ip6_frag.h
│ │ │ ├── ip6_zone.h
│ │ │ ├── ip_addr.h
│ │ │ ├── mem.h
│ │ │ ├── memp.h
│ │ │ ├── mld6.h
│ │ │ ├── nd6.h
│ │ │ ├── netbuf.h
│ │ │ ├── netdb.h
│ │ │ ├── netif.h
│ │ │ ├── netifapi.h
│ │ │ ├── opt.h
│ │ │ ├── pbuf.h
│ │ │ ├── priv
│ │ │ │ ├── altcp_priv.h
│ │ │ │ ├── api_msg.h
│ │ │ │ ├── mem_priv.h
│ │ │ │ ├── memp_priv.h
│ │ │ │ ├── memp_std.h
│ │ │ │ ├── nd6_priv.h
│ │ │ │ ├── raw_priv.h
│ │ │ │ ├── sockets_priv.h
│ │ │ │ ├── tcp_priv.h
│ │ │ │ └── tcpip_priv.h
│ │ │ ├── prot
│ │ │ │ ├── autoip.h
│ │ │ │ ├── dhcp.h
│ │ │ │ ├── dhcp6.h
│ │ │ │ ├── dns.h
│ │ │ │ ├── etharp.h
│ │ │ │ ├── ethernet.h
│ │ │ │ ├── iana.h
│ │ │ │ ├── icmp.h
│ │ │ │ ├── icmp6.h
│ │ │ │ ├── ieee.h
│ │ │ │ ├── igmp.h
│ │ │ │ ├── ip.h
│ │ │ │ ├── ip4.h
│ │ │ │ ├── ip6.h
│ │ │ │ ├── mld6.h
│ │ │ │ ├── nd6.h
│ │ │ │ ├── tcp.h
│ │ │ │ └── udp.h
│ │ │ ├── raw.h
│ │ │ ├── sio.h
│ │ │ ├── snmp.h
│ │ │ ├── sockets.h
│ │ │ ├── stats.h
│ │ │ ├── sys.h
│ │ │ ├── tcp.h
│ │ │ ├── tcpbase.h
│ │ │ ├── tcpip.h
│ │ │ ├── timeouts.h
│ │ │ └── udp.h
│ │ └── netif
│ │ │ ├── bridgeif.h
│ │ │ ├── bridgeif_opts.h
│ │ │ ├── etharp.h
│ │ │ ├── ethernet.h
│ │ │ ├── ieee802154.h
│ │ │ ├── lowpan6.h
│ │ │ ├── lowpan6_ble.h
│ │ │ ├── lowpan6_common.h
│ │ │ ├── lowpan6_opts.h
│ │ │ ├── ppp
│ │ │ ├── ccp.h
│ │ │ ├── chap-md5.h
│ │ │ ├── chap-new.h
│ │ │ ├── chap_ms.h
│ │ │ ├── eap.h
│ │ │ ├── ecp.h
│ │ │ ├── eui64.h
│ │ │ ├── fsm.h
│ │ │ ├── ipcp.h
│ │ │ ├── ipv6cp.h
│ │ │ ├── lcp.h
│ │ │ ├── magic.h
│ │ │ ├── mppe.h
│ │ │ ├── ppp.h
│ │ │ ├── ppp_impl.h
│ │ │ ├── ppp_opts.h
│ │ │ ├── pppapi.h
│ │ │ ├── pppcrypt.h
│ │ │ ├── pppdebug.h
│ │ │ ├── pppoe.h
│ │ │ ├── pppol2tp.h
│ │ │ ├── pppos.h
│ │ │ ├── upap.h
│ │ │ └── vj.h
│ │ │ ├── slipif.h
│ │ │ └── zepif.h
│ └── netif
│ │ ├── bridgeif.c
│ │ ├── bridgeif_fdb.c
│ │ ├── ethernet.c
│ │ ├── lowpan6.c
│ │ ├── lowpan6_ble.c
│ │ ├── lowpan6_common.c
│ │ ├── ppp
│ │ ├── auth.c
│ │ ├── ccp.c
│ │ ├── chap-md5.c
│ │ ├── chap-new.c
│ │ ├── chap_ms.c
│ │ ├── demand.c
│ │ ├── eap.c
│ │ ├── ecp.c
│ │ ├── eui64.c
│ │ ├── fsm.c
│ │ ├── ipcp.c
│ │ ├── ipv6cp.c
│ │ ├── lcp.c
│ │ ├── magic.c
│ │ ├── mppe.c
│ │ ├── multilink.c
│ │ ├── ppp.c
│ │ ├── pppapi.c
│ │ ├── pppcrypt.c
│ │ ├── pppoe.c
│ │ ├── pppol2tp.c
│ │ ├── pppos.c
│ │ ├── upap.c
│ │ ├── utils.c
│ │ └── vj.c
│ │ ├── slipif.c
│ │ └── zepif.c
│ └── system
│ └── arch
│ ├── bpstruct.h
│ ├── cc.h
│ ├── cpu.h
│ ├── epstruct.h
│ ├── init.h
│ ├── lib.h
│ ├── perf.h
│ └── sys_arch.h
├── README.md
├── STM32F401CCUX_FLASH.ld
├── STM32F401RC_FLASH.ld
├── STM32F407VETX_FLASH.ld
├── STM32F407VGTX_BL32K_FLASH.ld
├── STM32F407VGTX_BL48K_FLASH.ld
├── STM32F407VGTX_FLASH.ld
├── STM32F411CEUX_FLASH.ld
├── STM32F412VGTX_FLASH.ld
├── STM32F429VGTX_FLASH.ld
├── STM32F446RETX_BL32K_FLASH.ld
├── STM32F446RETX_BL64K_NONVS_FLASH.ld
├── STM32F446RETX_FLASH.ld
├── STM32F446RETX_NO_BL_FLASH.ld
├── STM32F446ZETX_FLASH.ld
├── STM32F446ZETX_NONVS_FLASH.ld
├── Src
├── can.c
├── diskio.c
├── driver.c
├── driver_spindles.c
├── enet.c
├── flash.c
├── i2c.c
├── ioports.c
├── ioports_analog.c
├── main.c
├── neopixel_gpo.c
├── neopixel_pwm.c
├── neopixel_spi.c
├── pwm.c
├── serial.c
├── spi.c
├── stm32f4xx_hal_msp.c
├── stm32f4xx_it.c
├── syscalls.c
├── sysmem.c
├── system_stm32f4xx.c
├── timers.c
├── tmc_spi.c
├── tmc_uart.c
├── usb_serial.c
└── w5x00_ll_driver.c
├── Startup
└── startup_stm32f401ccux.s
├── StartupF407
└── startup_stm32f407vgtx.s
├── StartupF429
└── startup_stm32f429vgtx.s
├── StartupF446
└── startup_stm32f446retx.s
├── USB_DEVICE
├── App
│ ├── usb_device.c
│ ├── usb_device.h
│ ├── usbd_cdc_if.c
│ ├── usbd_cdc_if.h
│ ├── usbd_desc.c
│ └── usbd_desc.h
└── Target
│ ├── usbd_conf.c
│ └── usbd_conf.h
├── boards
├── Devtronic_CNC_Controller.c
├── Devtronic_CNC_Controller_V2_map.h
├── Devtronic_CNC_Controller_map.h
├── blackpill_alt2_map.h
├── blackpill_map.h
├── btt_skr_2.0.c
├── btt_skr_2.0_dac_map.h
├── btt_skr_2.0_map.h
├── btt_skr_pro_v1_1_map.h
├── cnc3040_map.h
├── cnc_boosterpack_map.h
├── flexi_hal.c
├── flexi_hal_map.h
├── fysetc_s6_map.h
├── generic_map.h
├── halcyon_v1_map.h
├── longboard32.c
├── longboard32_map.h
├── mini_blackpill_map.h
├── mks_eagle_map.h
├── mks_robin_nano_v3.0_map.h
├── protoneer_3.xx_map.h
├── st_morpho_dac_map.h
├── st_morpho_map.h
├── st_morpo_dac.c
├── stm32f401_uni_map.h
├── stm32f407vet6_dev_board.h
└── uno_map.h
├── driver.json
├── extra_script.py
├── flexi_script.py
├── media
└── STM32F4xx_config.png
├── platformio.ini
├── platformio.tpl
├── uf2conv.py
└── uf2families.json
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto eol=lf
3 |
4 |
5 | # Custom for Visual Studio
6 | *.cs diff=csharp
7 |
8 | # Standard to msysgit
9 | *.doc diff=astextplain
10 | *.DOC diff=astextplain
11 | *.docx diff=astextplain
12 | *.DOCX diff=astextplain
13 | *.dot diff=astextplain
14 | *.DOT diff=astextplain
15 | *.pdf diff=astextplain
16 | *.PDF diff=astextplain
17 | *.rtf diff=astextplain
18 | *.RTF diff=astextplain
19 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows thumbnail cache files
2 | Thumbs.db
3 | ehthumbs.db
4 | ehthumbs_vista.db
5 |
6 | # Folder config file
7 | Desktop.ini
8 |
9 | # Recycle Bin used on file shares
10 | $RECYCLE.BIN/
11 |
12 | # Windows Installer files
13 | *.cab
14 | *.msi
15 | *.msm
16 | *.msp
17 |
18 | # Windows shortcuts
19 | *.lnk
20 |
21 | # Subversion folders
22 | .svn
23 |
24 | # Eclipse folders
25 | .settings
26 |
27 | # Build folder
28 | build
29 | .pio/
30 |
31 | #
32 | # =========================
33 | # Operating System Files
34 | # =========================
35 |
36 | .vscode/settings.json
37 | .vscode/c_cpp_properties.json
38 | *.code-workspace
39 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "grbl"]
2 | path = grbl
3 | url = https://github.com/grblHAL/core
4 | [submodule "eeprom"]
5 | path = eeprom
6 | url = https://github.com/grblHAL/Plugin_EEPROM
7 | [submodule "keypad"]
8 | path = keypad
9 | url = https://github.com/grblHAL/Plugin_I2C_keypad
10 | [submodule "odometer"]
11 | path = odometer
12 | url = https://github.com/grblHAL/Plugin_odometer
13 | [submodule "sdcard"]
14 | path = sdcard
15 | url = https://github.com/grblHAL/Plugin_SD_card
16 | [submodule "spindle"]
17 | path = spindle
18 | url = https://github.com/grblHAL/Plugins_spindle
19 | [submodule "laser"]
20 | path = laser
21 | url = https://github.com/grblHAL/Plugins_laser
22 | [submodule "motors"]
23 | path = motors
24 | url = https://github.com/grblHAL/Plugins_motor
25 | [submodule "trinamic"]
26 | path = trinamic
27 | url = https://github.com/terjeio/Trinamic-library
28 | [submodule "bluetooth"]
29 | path = bluetooth
30 | url = https://github.com/grblHAL/Plugins_Bluetooth
31 | [submodule "embroidery"]
32 | path = embroidery
33 | url = https://github.com/grblHAL/Plugin_embroidery
34 | [submodule "networking"]
35 | path = networking
36 | url = https://github.com/grblHAL/Plugin_networking
37 | [submodule "encoder"]
38 | path = encoder
39 | url = https://github.com/grblHAL/Plugin_encoder
40 | [submodule "fans"]
41 | path = fans
42 | url = https://github.com/grblHAL/Plugin_fans/
43 | [submodule "plasma"]
44 | path = plasma
45 | url = https://github.com/grblHAL/Plugin_plasma/
46 | [submodule "webui"]
47 | path = webui
48 | url = https://github.com/grblHAL/Plugin_WebUI/
49 | [submodule "plugins"]
50 | path = plugins
51 | url = https://github.com/grblHAL/Plugins_misc/
52 | [submodule "openpnp"]
53 | path = openpnp
54 | url = https://github.com/grblHAL/Plugin_OpenPNP/
55 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | GRBL Driver STM32F401
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
10 | clean,full,incremental,
11 |
12 |
13 |
14 |
15 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
16 | full,incremental,
17 |
18 |
19 |
20 |
21 |
22 | com.st.stm32cube.ide.mcu.MCUProjectNature
23 | org.eclipse.cdt.core.cnature
24 | com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAProjectNature
25 | com.st.stm32cube.ide.mcu.MCUCubeProjectNature
26 | com.st.stm32cube.ide.mcu.MCUEndUserDisabledTrustZoneProjectNature
27 | com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature
28 | com.st.stm32cube.ide.mcu.MCURootProjectNature
29 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
30 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file system_stm32f4xx.h
4 | * @author MCD Application Team
5 | * @brief CMSIS Cortex-M4 Device System Source File for STM32F4xx devices.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * Copyright (c) 2017 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software is licensed under terms that can be found in the LICENSE file
13 | * in the root directory of this software component.
14 | * If no LICENSE file comes with this software, it is provided AS-IS.
15 | *
16 | ******************************************************************************
17 | */
18 |
19 | /** @addtogroup CMSIS
20 | * @{
21 | */
22 |
23 | /** @addtogroup stm32f4xx_system
24 | * @{
25 | */
26 |
27 | /**
28 | * @brief Define to prevent recursive inclusion
29 | */
30 | #ifndef __SYSTEM_STM32F4XX_H
31 | #define __SYSTEM_STM32F4XX_H
32 |
33 | #ifdef __cplusplus
34 | extern "C" {
35 | #endif
36 |
37 | /** @addtogroup STM32F4xx_System_Includes
38 | * @{
39 | */
40 |
41 | /**
42 | * @}
43 | */
44 |
45 |
46 | /** @addtogroup STM32F4xx_System_Exported_types
47 | * @{
48 | */
49 | /* This variable is updated in three ways:
50 | 1) by calling CMSIS function SystemCoreClockUpdate()
51 | 2) by calling HAL API function HAL_RCC_GetSysClockFreq()
52 | 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
53 | Note: If you use this function to configure the system clock; then there
54 | is no need to call the 2 first functions listed above, since SystemCoreClock
55 | variable is updated automatically.
56 | */
57 | extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
58 |
59 | extern const uint8_t AHBPrescTable[16]; /*!< AHB prescalers table values */
60 | extern const uint8_t APBPrescTable[8]; /*!< APB prescalers table values */
61 |
62 | /**
63 | * @}
64 | */
65 |
66 | /** @addtogroup STM32F4xx_System_Exported_Constants
67 | * @{
68 | */
69 |
70 | /**
71 | * @}
72 | */
73 |
74 | /** @addtogroup STM32F4xx_System_Exported_Macros
75 | * @{
76 | */
77 |
78 | /**
79 | * @}
80 | */
81 |
82 | /** @addtogroup STM32F4xx_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_STM32F4XX_H */
97 |
98 | /**
99 | * @}
100 | */
101 |
102 | /**
103 | * @}
104 | */
105 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/LICENSE.txt:
--------------------------------------------------------------------------------
1 | This software component is provided to you as part of a software package and
2 | applicable license terms are in the Package_license file. If you received this
3 | software component outside of a package or without applicable license terms,
4 | the terms of the Apache-2.0 license shall apply.
5 | You may obtain a copy of the Apache-2.0 at:
6 | https://opensource.org/licenses/Apache-2.0
7 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Include/cmsis_version.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************//**
2 | * @file cmsis_version.h
3 | * @brief CMSIS Core(M) Version definitions
4 | * @version V5.0.5
5 | * @date 02. February 2022
6 | ******************************************************************************/
7 | /*
8 | * Copyright (c) 2009-2022 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 ( 6U) /*!< [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 |
--------------------------------------------------------------------------------
/Drivers/FATFS/App/fatfs.c:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * @file fatfs.c
5 | * @brief Code for fatfs applications
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * Copyright (c) 2023 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software is licensed under terms that can be found in the LICENSE file
13 | * in the root directory of this software component.
14 | * If no LICENSE file comes with this software, it is provided AS-IS.
15 | *
16 | ******************************************************************************
17 | */
18 | /* USER CODE END Header */
19 | #include "fatfs.h"
20 |
21 | uint8_t retSD; /* Return value for SD */
22 | char SDPath[4]; /* SD logical drive path */
23 | FATFS SDFatFS; /* File system object for SD logical drive */
24 | FIL SDFile; /* File object for SD */
25 |
26 | /* USER CODE BEGIN Variables */
27 |
28 | /* USER CODE END Variables */
29 |
30 | void MX_FATFS_Init(void)
31 | {
32 | /*## FatFS: Link the SD driver ###########################*/
33 | retSD = FATFS_LinkDriver(&SD_Driver, SDPath);
34 |
35 | /* USER CODE BEGIN Init */
36 | /* additional user code for init */
37 | /* USER CODE END Init */
38 | }
39 |
--------------------------------------------------------------------------------
/Drivers/FATFS/App/fatfs.h:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * @file fatfs.h
5 | * @brief Header for fatfs applications
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * Copyright (c) 2023 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software is licensed under terms that can be found in the LICENSE file
13 | * in the root directory of this software component.
14 | * If no LICENSE file comes with this software, it is provided AS-IS.
15 | *
16 | ******************************************************************************
17 | */
18 | /* USER CODE END Header */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __fatfs_H
21 | #define __fatfs_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | #include "ff.h"
27 | #include "ff_gen_drv.h"
28 | #include "sd_diskio.h" /* defines SD_Driver as external */
29 |
30 | /* USER CODE BEGIN Includes */
31 |
32 | /* USER CODE END Includes */
33 |
34 | extern uint8_t retSD; /* Return value for SD */
35 | extern char SDPath[4]; /* SD logical drive path */
36 | extern FATFS SDFatFS; /* File system object for SD logical drive */
37 | extern FIL SDFile; /* File object for SD */
38 |
39 | void MX_FATFS_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 | #ifdef __cplusplus
45 | }
46 | #endif
47 | #endif /*__fatfs_H */
48 |
--------------------------------------------------------------------------------
/Drivers/FATFS/Target/sd_diskio.h:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * @file sd_diskio.h
5 | * @brief Header for sd_diskio.c module
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * Copyright (c) 2023 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software is licensed under terms that can be found in the LICENSE file
13 | * in the root directory of this software component.
14 | * If no LICENSE file comes with this software, it is provided AS-IS.
15 | *
16 | ******************************************************************************
17 | */
18 | /* USER CODE END Header */
19 |
20 | /* Note: code generation based on sd_diskio_template.h */
21 |
22 | /* Define to prevent recursive inclusion -------------------------------------*/
23 | #ifndef __SD_DISKIO_H
24 | #define __SD_DISKIO_H
25 |
26 | /* USER CODE BEGIN firstSection */
27 | /* can be used to modify / undefine following code or add new definitions */
28 | /* USER CODE END firstSection */
29 |
30 | /* Includes ------------------------------------------------------------------*/
31 | #include "bsp_driver_sd.h"
32 | /* Exported types ------------------------------------------------------------*/
33 | /* Exported constants --------------------------------------------------------*/
34 | /* Exported functions ------------------------------------------------------- */
35 | extern const Diskio_drvTypeDef SD_Driver;
36 |
37 | /* USER CODE BEGIN lastSection */
38 | /* can be used to modify / undefine previous code or add new definitions */
39 | /* USER CODE END lastSection */
40 |
41 | #endif /* __SD_DISKIO_H */
42 |
--------------------------------------------------------------------------------
/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32f4xx_hal_dma_ex.h
4 | * @author MCD Application Team
5 | * @brief Header file of DMA HAL extension module.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * Copyright (c) 2017 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software is licensed under terms that can be found in the LICENSE file in
13 | * the root directory of this software component.
14 | * If no LICENSE file comes with this software, it is provided AS-IS.
15 | *
16 | ******************************************************************************
17 | */
18 |
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __STM32F4xx_HAL_DMA_EX_H
21 | #define __STM32F4xx_HAL_DMA_EX_H
22 |
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | /* Includes ------------------------------------------------------------------*/
28 | #include "stm32f4xx_hal_def.h"
29 |
30 | /** @addtogroup STM32F4xx_HAL_Driver
31 | * @{
32 | */
33 |
34 | /** @addtogroup DMAEx
35 | * @{
36 | */
37 |
38 | /* Exported types ------------------------------------------------------------*/
39 | /** @defgroup DMAEx_Exported_Types DMAEx Exported Types
40 | * @brief DMAEx Exported types
41 | * @{
42 | */
43 |
44 | /**
45 | * @brief HAL DMA Memory definition
46 | */
47 | typedef enum
48 | {
49 | MEMORY0 = 0x00U, /*!< Memory 0 */
50 | MEMORY1 = 0x01U /*!< Memory 1 */
51 | }HAL_DMA_MemoryTypeDef;
52 |
53 | /**
54 | * @}
55 | */
56 |
57 | /* Exported functions --------------------------------------------------------*/
58 | /** @defgroup DMAEx_Exported_Functions DMAEx Exported Functions
59 | * @brief DMAEx Exported functions
60 | * @{
61 | */
62 |
63 | /** @defgroup DMAEx_Exported_Functions_Group1 Extended features functions
64 | * @brief Extended features functions
65 | * @{
66 | */
67 |
68 | /* IO operation functions *******************************************************/
69 | HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength);
70 | HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength);
71 | HAL_StatusTypeDef HAL_DMAEx_ChangeMemory(DMA_HandleTypeDef *hdma, uint32_t Address, HAL_DMA_MemoryTypeDef memory);
72 |
73 | /**
74 | * @}
75 | */
76 | /**
77 | * @}
78 | */
79 |
80 | /* Private functions ---------------------------------------------------------*/
81 | /** @defgroup DMAEx_Private_Functions DMAEx Private Functions
82 | * @brief DMAEx Private functions
83 | * @{
84 | */
85 | /**
86 | * @}
87 | */
88 |
89 | /**
90 | * @}
91 | */
92 |
93 | /**
94 | * @}
95 | */
96 |
97 | #ifdef __cplusplus
98 | }
99 | #endif
100 |
101 | #endif /*__STM32F4xx_HAL_DMA_EX_H*/
102 |
103 |
--------------------------------------------------------------------------------
/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32f4xx_hal_flash_ramfunc.h
4 | * @author MCD Application Team
5 | * @brief Header file of FLASH RAMFUNC driver.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * Copyright (c) 2017 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software is licensed under terms that can be found in the LICENSE file in
13 | * the root directory of this software component.
14 | * If no LICENSE file comes with this software, it is provided AS-IS.
15 | ******************************************************************************
16 | */
17 |
18 | /* Define to prevent recursive inclusion -------------------------------------*/
19 | #ifndef __STM32F4xx_FLASH_RAMFUNC_H
20 | #define __STM32F4xx_FLASH_RAMFUNC_H
21 |
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 | #if defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx) || defined(STM32F411xE) || defined(STM32F446xx) || defined(STM32F412Zx) ||\
26 | defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx)
27 |
28 | /* Includes ------------------------------------------------------------------*/
29 | #include "stm32f4xx_hal_def.h"
30 |
31 | /** @addtogroup STM32F4xx_HAL_Driver
32 | * @{
33 | */
34 |
35 | /** @addtogroup FLASH_RAMFUNC
36 | * @{
37 | */
38 |
39 | /* Exported types ------------------------------------------------------------*/
40 | /* Exported macro ------------------------------------------------------------*/
41 | /* Exported functions --------------------------------------------------------*/
42 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions
43 | * @{
44 | */
45 |
46 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group1
47 | * @{
48 | */
49 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_StopFlashInterfaceClk(void);
50 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_StartFlashInterfaceClk(void);
51 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_EnableFlashSleepMode(void);
52 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_DisableFlashSleepMode(void);
53 | /**
54 | * @}
55 | */
56 |
57 | /**
58 | * @}
59 | */
60 |
61 | /**
62 | * @}
63 | */
64 |
65 | /**
66 | * @}
67 | */
68 |
69 | #endif /* STM32F410xx || STM32F411xE || STM32F446xx || STM32F412Zx || STM32F412Vx || STM32F412Rx || STM32F412Cx */
70 | #ifdef __cplusplus
71 | }
72 | #endif
73 |
74 |
75 | #endif /* __STM32F4xx_FLASH_RAMFUNC_H */
76 |
77 |
--------------------------------------------------------------------------------
/Drivers/STM32F4xx_HAL_Driver/LICENSE.txt:
--------------------------------------------------------------------------------
1 | This software component is provided to you as part of a software package and
2 | applicable license terms are in the Package_license file. If you received this
3 | software component outside of a package or without applicable license terms,
4 | the terms of the BSD-3-Clause license shall apply.
5 | You may obtain a copy of the BSD-3-Clause at:
6 | https://opensource.org/licenses/BSD-3-Clause
7 |
--------------------------------------------------------------------------------
/FatFs/00readme.txt:
--------------------------------------------------------------------------------
1 | FatFs Module Source Files R0.14b
2 |
3 |
4 | FILES
5 |
6 | 00readme.txt This file.
7 | 00history.txt Revision history.
8 | ff.c FatFs module.
9 | ffconf.h Configuration file of FatFs module.
10 | ff.h Common include file for FatFs and application module.
11 | diskio.h Common include file for FatFs and disk I/O module.
12 | diskio.c An example of glue function to attach existing disk I/O module to FatFs.
13 | ffunicode.c Optional Unicode utility functions.
14 | ffsystem.c An example of optional O/S related functions.
15 |
16 |
17 | Low level disk I/O module is not included in this archive because the FatFs
18 | module is only a generic file system layer and it does not depend on any specific
19 | storage device. You need to provide a low level disk I/O module written to
20 | control the storage device that attached to the target system.
21 |
22 |
--------------------------------------------------------------------------------
/FatFs/STM/ff_gen_drv.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file ff_gen_drv.h
4 | * @author MCD Application Team
5 | * @brief Header for ff_gen_drv.c module.
6 | *****************************************************************************
7 | * @attention
8 | *
9 | * Copyright (c) 2017 STMicroelectronics. All rights reserved.
10 | *
11 | * This software component is licensed by ST under BSD 3-Clause license,
12 | * the "License"; You may not use this file except in compliance with the
13 | * License. You may obtain a copy of the License at:
14 | * opensource.org/licenses/BSD-3-Clause
15 | *
16 | ******************************************************************************
17 | **/
18 |
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __FF_GEN_DRV_H
21 | #define __FF_GEN_DRV_H
22 |
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | /* Includes ------------------------------------------------------------------*/
28 | #include "ff.h"
29 | #include "diskio.h"
30 | #include "stdint.h"
31 |
32 |
33 | /* Exported types ------------------------------------------------------------*/
34 |
35 | /**
36 | * @brief Disk IO Driver structure definition
37 | */
38 | typedef struct
39 | {
40 | DSTATUS (*disk_initialize) (BYTE); /*!< Initialize Disk Drive */
41 | DSTATUS (*disk_status) (BYTE); /*!< Get Disk Status */
42 | DRESULT (*disk_read) (BYTE, BYTE*, DWORD, UINT); /*!< Read Sector(s) */
43 | #if _USE_WRITE == 1
44 | DRESULT (*disk_write) (BYTE, const BYTE*, DWORD, UINT); /*!< Write Sector(s) when _USE_WRITE = 0 */
45 | #endif /* _USE_WRITE == 1 */
46 | #if _USE_IOCTL == 1
47 | DRESULT (*disk_ioctl) (BYTE, BYTE, void*); /*!< I/O control operation when _USE_IOCTL = 1 */
48 | #endif /* _USE_IOCTL == 1 */
49 |
50 | }Diskio_drvTypeDef;
51 |
52 | /**
53 | * @brief Global Disk IO Drivers structure definition
54 | */
55 | typedef struct
56 | {
57 | uint8_t is_initialized[_VOLUMES];
58 | const Diskio_drvTypeDef *drv[_VOLUMES];
59 | uint8_t lun[_VOLUMES];
60 | volatile uint8_t nbr;
61 |
62 | }Disk_drvTypeDef;
63 |
64 | /* Exported constants --------------------------------------------------------*/
65 | /* Exported macro ------------------------------------------------------------*/
66 | /* Exported functions ------------------------------------------------------- */
67 | uint8_t FATFS_LinkDriver(const Diskio_drvTypeDef *drv, char *path);
68 | uint8_t FATFS_UnLinkDriver(char *path);
69 | uint8_t FATFS_LinkDriverEx(const Diskio_drvTypeDef *drv, char *path, BYTE lun);
70 | uint8_t FATFS_UnLinkDriverEx(char *path, BYTE lun);
71 | uint8_t FATFS_GetAttachedDriversNbr(void);
72 |
73 | #ifdef __cplusplus
74 | }
75 | #endif
76 |
77 | #endif /* __FF_GEN_DRV_H */
78 |
79 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
80 |
81 |
--------------------------------------------------------------------------------
/FatFs/diskio.h:
--------------------------------------------------------------------------------
1 | /*-----------------------------------------------------------------------/
2 | / Low level disk interface modlue include file (C)ChaN, 2019 /
3 | /-----------------------------------------------------------------------*/
4 |
5 | #ifndef _DISKIO_DEFINED
6 | #define _DISKIO_DEFINED
7 |
8 | #ifdef __cplusplus
9 | extern "C" {
10 | #endif
11 |
12 | #include "ff.h"
13 |
14 | /* Status of Disk Functions */
15 | typedef BYTE DSTATUS;
16 |
17 | /* Results of Disk Functions */
18 | typedef enum {
19 | RES_OK = 0, /* 0: Successful */
20 | RES_ERROR, /* 1: R/W Error */
21 | RES_WRPRT, /* 2: Write Protected */
22 | RES_NOTRDY, /* 3: Not Ready */
23 | RES_PARERR /* 4: Invalid Parameter */
24 | } DRESULT;
25 |
26 |
27 | /*---------------------------------------*/
28 | /* Prototypes for disk control functions */
29 |
30 |
31 | DSTATUS disk_initialize (BYTE pdrv);
32 | DSTATUS disk_status (BYTE pdrv);
33 | DRESULT disk_read (BYTE pdrv, BYTE* buff, LBA_t sector, UINT count);
34 | DRESULT disk_write (BYTE pdrv, const BYTE* buff, LBA_t sector, UINT count);
35 | DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff);
36 |
37 |
38 | /* Disk Status Bits (DSTATUS) */
39 |
40 | #define STA_NOINIT 0x01 /* Drive not initialized */
41 | #define STA_NODISK 0x02 /* No medium in the drive */
42 | #define STA_PROTECT 0x04 /* Write protected */
43 |
44 |
45 | /* Command code for disk_ioctrl fucntion */
46 |
47 | /* Generic command (Used by FatFs) */
48 | #define CTRL_SYNC 0 /* Complete pending write process (needed at FF_FS_READONLY == 0) */
49 | #define GET_SECTOR_COUNT 1 /* Get media size (needed at FF_USE_MKFS == 1) */
50 | #define GET_SECTOR_SIZE 2 /* Get sector size (needed at FF_MAX_SS != FF_MIN_SS) */
51 | #define GET_BLOCK_SIZE 3 /* Get erase block size (needed at FF_USE_MKFS == 1) */
52 | #define CTRL_TRIM 4 /* Inform device that the data on the block of sectors is no longer used (needed at FF_USE_TRIM == 1) */
53 |
54 | /* Generic command (Not used by FatFs) */
55 | #define CTRL_POWER 5 /* Get/Set power status */
56 | #define CTRL_LOCK 6 /* Lock/Unlock media removal */
57 | #define CTRL_EJECT 7 /* Eject media */
58 | #define CTRL_FORMAT 8 /* Create physical format on the media */
59 |
60 | /* MMC/SDC specific ioctl command */
61 | #define MMC_GET_TYPE 10 /* Get card type */
62 | #define MMC_GET_CSD 11 /* Get CSD */
63 | #define MMC_GET_CID 12 /* Get CID */
64 | #define MMC_GET_OCR 13 /* Get OCR */
65 | #define MMC_GET_SDSTAT 14 /* Get SD status */
66 | #define ISDIO_READ 55 /* Read data form SD iSDIO register */
67 | #define ISDIO_WRITE 56 /* Write data to SD iSDIO register */
68 | #define ISDIO_MRITE 57 /* Masked write data to SD iSDIO register */
69 |
70 | /* ATA/CF specific ioctl command */
71 | #define ATA_GET_REV 20 /* Get F/W revision */
72 | #define ATA_GET_MODEL 21 /* Get model name */
73 | #define ATA_GET_SN 22 /* Get serial number */
74 |
75 | #ifdef __cplusplus
76 | }
77 | #endif
78 |
79 | #endif
80 |
--------------------------------------------------------------------------------
/Inc/enet.h:
--------------------------------------------------------------------------------
1 | /*
2 | enet.h - lwIP driver glue code for STM32F4xx processors
3 |
4 | Part of grblHAL
5 |
6 | Copyright (c) 2021-2024 Terje Io
7 |
8 | grblHAL is free software: you can redistribute it and/or modify
9 | it under the terms of the GNU General Public License as published by
10 | the Free Software Foundation, either version 3 of the License, or
11 | (at your option) any later version.
12 |
13 | grblHAL is distributed in the hope that it will be useful,
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | GNU General Public License for more details.
17 |
18 | You should have received a copy of the GNU General Public License
19 | along with grblHAL. If not, see .
20 | */
21 |
22 | #ifndef __ENET_H__
23 | #define __ENET_H__
24 |
25 | #include "driver.h"
26 |
27 | bool enet_init (void);
28 | bool enet_start (void);
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/Inc/flash.h:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | flash.h - driver code for NXP LPC176x ARM processors
4 |
5 | Part of grblHAL
6 |
7 | Copyright (c) 2018 Terje Io
8 |
9 | Grbl is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | Grbl is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with Grbl. If not, see .
21 |
22 | */
23 |
24 | #ifndef _flash_h_
25 | #define _flash_h_
26 |
27 | bool memcpy_from_flash (uint8_t *dest);
28 | bool memcpy_to_flash (uint8_t *source);
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/Inc/i2c.h:
--------------------------------------------------------------------------------
1 | /*
2 | i2c.h - I2C support for EEPROM, keypad and Trinamic plugins
3 |
4 | Part of grblHAL driver for STM32F4xx
5 |
6 | Copyright (c) 2018-2025 Terje Io
7 |
8 | grblHAL is free software: you can redistribute it and/or modify
9 | it under the terms of the GNU General Public License as published by
10 | the Free Software Foundation, either version 3 of the License, or
11 | (at your option) any later version.
12 |
13 | grblHAL is distributed in the hope that it will be useful,
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | GNU General Public License for more details.
17 |
18 | You should have received a copy of the GNU General Public License
19 | along with grblHAL. If not, see .
20 | */
21 |
22 | #pragma once
23 |
24 | #include "driver.h"
25 |
26 | #if I2C_ENABLE
27 |
28 | #include "grbl/plugins.h"
29 |
30 | #ifdef I2C_FASTMODE
31 |
32 | #define I2C_GetState HAL_FMPI2C_GetState
33 | #define I2C_STATE_READY HAL_FMPI2C_STATE_READY
34 | #define I2C_Mem_Read HAL_FMPI2C_Mem_Read
35 | #define I2C_Mem_Write HAL_FMPI2C_Mem_Write
36 | #define I2C_Mem_Write_DMA HAL_FMPI2C_Mem_Write_DMA
37 | #define I2C_Master_Transmit_IT HAL_FMPI2C_Master_Transmit_IT
38 | #define I2C_Master_Receive_IT HAL_FMPI2C_Master_Receive_IT
39 | #define I2C_Master_Transmit_DMA HAL_FMPI2C_Master_Transmit_DMA
40 | FMPI2C_HandleTypeDef *I2C_GetPort (void);
41 |
42 | #else
43 |
44 | #define I2C_GetState HAL_I2C_GetState
45 | #define I2C_STATE_READY HAL_I2C_STATE_READY
46 | #define I2C_Mem_Read HAL_I2C_Mem_Read
47 | #define I2C_Mem_Write HAL_I2C_Mem_Write
48 | #define I2C_Mem_Write_DMA HAL_I2C_Mem_Write_DMA
49 | #define I2C_Master_Transmit_IT HAL_I2C_Master_Transmit_IT
50 | #define I2C_Master_Receive_IT HAL_I2C_Master_Receive_IT
51 | #define I2C_Master_Transmit_DMA HAL_I2C_Master_Transmit_DMA
52 |
53 | I2C_HandleTypeDef *I2C_GetPort (void);
54 |
55 | #endif
56 |
57 | #if TRINAMIC_ENABLE == 2130 && TRINAMIC_I2C
58 |
59 | #include "motors/trinamic.h"
60 | #include "trinamic/tmc_i2c_interface.h"
61 |
62 | #define I2C_ADR_I2CBRIDGE 0x47
63 |
64 | #endif
65 |
66 | #endif // I2C_ENABLE
67 |
--------------------------------------------------------------------------------
/Inc/main.h:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * @file : main.h
5 | * @brief : Header for main.c file.
6 | * This file contains the common defines of the application.
7 | ******************************************************************************
8 | * @attention
9 | *
10 | * © Copyright (c) 2020 STMicroelectronics.
11 | * All rights reserved.
12 | *
13 | * This software component is licensed by ST under Ultimate Liberty license
14 | * SLA0044, the "License"; You may not use this file except in compliance with
15 | * the License. You may obtain a copy of the License at:
16 | * www.st.com/SLA0044
17 | *
18 | ******************************************************************************
19 | */
20 | /* USER CODE END Header */
21 |
22 | /* Define to prevent recursive inclusion -------------------------------------*/
23 | #ifndef __MAIN_H
24 | #define __MAIN_H
25 |
26 | #ifdef __cplusplus
27 | extern "C" {
28 | #endif
29 |
30 | /* Includes ------------------------------------------------------------------*/
31 | #include "stm32f4xx_hal.h"
32 |
33 | /* Private includes ----------------------------------------------------------*/
34 | /* USER CODE BEGIN Includes */
35 |
36 | /* USER CODE END Includes */
37 |
38 | /* Exported types ------------------------------------------------------------*/
39 | /* USER CODE BEGIN ET */
40 |
41 | /* USER CODE END ET */
42 |
43 | /* Exported constants --------------------------------------------------------*/
44 | /* USER CODE BEGIN EC */
45 |
46 | /* USER CODE END EC */
47 |
48 | /* Exported macro ------------------------------------------------------------*/
49 | /* USER CODE BEGIN EM */
50 |
51 | /* USER CODE END EM */
52 |
53 | /* Exported functions prototypes ---------------------------------------------*/
54 | void Error_Handler(void);
55 |
56 | /* USER CODE BEGIN EFP */
57 |
58 | /* USER CODE END EFP */
59 |
60 | /* Private defines -----------------------------------------------------------*/
61 | /* USER CODE BEGIN Private defines */
62 |
63 | /* USER CODE END Private defines */
64 |
65 | #ifdef __cplusplus
66 | }
67 | #endif
68 |
69 | #endif /* __MAIN_H */
70 |
71 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
72 |
--------------------------------------------------------------------------------
/Inc/pwm.h:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | pwm.h - driver code for STM32F4xx ARM processors
4 |
5 | Part of grblHAL
6 |
7 | Copyright (c) 2024 Terje Io
8 |
9 | grblHAL is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | grblHAL is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with grblHAL. If not, see .
21 | */
22 |
23 | #pragma once
24 |
25 | typedef struct {
26 | uint8_t pin;
27 | uint8_t af;
28 | GPIO_TypeDef *port;
29 | TIM_TypeDef *timer;
30 | __IO uint32_t *ccr;
31 | __IO uint32_t *ccmr;
32 | uint32_t ois;
33 | uint32_t ocm;
34 | uint32_t ocmc;
35 | uint32_t en;
36 | uint32_t pol;
37 | } pwm_signal_t;
38 |
39 | const pwm_signal_t *pwm_claim (GPIO_TypeDef *port, uint8_t pin);
40 | bool pwm_enable (const pwm_signal_t *pwm);
41 | bool pwm_config (const pwm_signal_t *pwm, uint32_t prescaler, uint32_t period, bool inverted);
42 | bool pwm_is_available (GPIO_TypeDef *port, uint8_t pin);
43 | uint32_t pwm_get_clock_hz (const pwm_signal_t *pwm);
44 |
--------------------------------------------------------------------------------
/Inc/serial.h:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | serial.h - stream interface for serial ports
4 |
5 | Part of grblHAL
6 |
7 | Copyright (c) 2017-2024 Terje Io
8 |
9 | grblHAL is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | grblHAL is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with grblHAL. If not, see .
21 |
22 | */
23 |
24 | /*
25 |
26 | 1 - GPIOA: TX = 9, RX = 10
27 | 11 - GPIOB: TX = 6, RX = 7
28 | 2 - GPIOA: TX = 2, RX = 3 - Nucleo-64 Virtual COM port
29 | 21 - GPIOD: TX = 5, RX = 6
30 | 3 - GPIOB: TX = 10, RX = 11
31 | 31 - GPIOC: TX = 10, RX = 11
32 | 32 - GPIOD: TX = 8, RX = 9 - Nucleo-144 Virtual COM port
33 | 33 - GPIOC: TX = 10, RX = 5
34 | 6 - GPIOC: TX = 6, RX = 7
35 |
36 | */
37 |
38 | #pragma once
39 |
40 | void serialRegisterStreams (void);
41 |
42 | /*EOF*/
43 |
--------------------------------------------------------------------------------
/Inc/spi.h:
--------------------------------------------------------------------------------
1 | /*
2 | spi.h - SPI support for SD card, Trinamic & networking (WizNet) plugins
3 |
4 | Part of grblHAL driver for STM32F4xx
5 |
6 | Copyright (c) 2020-2023 Terje Io
7 |
8 | Grbl is free software: you can redistribute it and/or modify
9 | it under the terms of the GNU General Public License as published by
10 | the Free Software Foundation, either version 3 of the License, or
11 | (at your option) any later version.
12 |
13 | Grbl is distributed in the hope that it will be useful,
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | GNU General Public License for more details.
17 |
18 | You should have received a copy of the GNU General Public License
19 | along with Grbl. If not, see .
20 | */
21 |
22 | #ifndef _GRBL_SPI_H_
23 | #define _GRBL_SPI_H_
24 |
25 | void spi_init (void);
26 | uint32_t spi_set_speed (uint32_t prescaler);
27 | uint8_t spi_get_byte (void);
28 | uint8_t spi_put_byte (uint8_t byte);
29 | void spi_write (uint8_t *data, uint16_t len);
30 | void spi_read (uint8_t *data, uint16_t len);
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/Inc/stm32f4xx_it.h:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * @file stm32f4xx_it.h
5 | * @brief This file contains the headers of the interrupt handlers.
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 | /* USER CODE END Header */
20 |
21 | /* Define to prevent recursive inclusion -------------------------------------*/
22 | #ifndef __STM32F4xx_IT_H
23 | #define __STM32F4xx_IT_H
24 |
25 | #ifdef __cplusplus
26 | extern "C" {
27 | #endif
28 |
29 | /* Private includes ----------------------------------------------------------*/
30 | /* USER CODE BEGIN Includes */
31 |
32 | /* USER CODE END Includes */
33 |
34 | /* Exported types ------------------------------------------------------------*/
35 | /* USER CODE BEGIN ET */
36 |
37 | /* USER CODE END ET */
38 |
39 | /* Exported constants --------------------------------------------------------*/
40 | /* USER CODE BEGIN EC */
41 |
42 | /* USER CODE END EC */
43 |
44 | /* Exported macro ------------------------------------------------------------*/
45 | /* USER CODE BEGIN EM */
46 |
47 | /* USER CODE END EM */
48 |
49 | /* Exported functions prototypes ---------------------------------------------*/
50 | void NMI_Handler(void);
51 | void HardFault_Handler(void);
52 | void MemManage_Handler(void);
53 | void BusFault_Handler(void);
54 | void UsageFault_Handler(void);
55 | void SVC_Handler(void);
56 | void DebugMon_Handler(void);
57 | void PendSV_Handler(void);
58 | void SysTick_Handler(void);
59 | void OTG_FS_IRQHandler(void);
60 | /* USER CODE BEGIN EFP */
61 |
62 | /* USER CODE END EFP */
63 |
64 | #ifdef __cplusplus
65 | }
66 | #endif
67 |
68 | #endif /* __STM32F4xx_IT_H */
69 |
70 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
71 |
--------------------------------------------------------------------------------
/Inc/timers.h:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | timers.h - driver code for STM32F7xx ARM processors
4 |
5 | Part of grblHAL
6 |
7 | Copyright (c) 2024 Terje Io
8 |
9 | grblHAL is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | grblHAL is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with grblHAL. If not, see .
21 | */
22 |
23 | #pragma once
24 |
25 | /* Internal API */
26 |
27 | bool timer_claim (TIM_TypeDef *timer);
28 | bool timer_is_claimed (TIM_TypeDef *timer);
29 | uint32_t timer_clk_enable (TIM_TypeDef *timer);
30 | uint32_t timer_get_clock_hz (TIM_TypeDef *timer);
31 |
32 | /* HAL API */
33 |
34 | hal_timer_t timerClaim (timer_cap_t cap, uint32_t timebase);
35 | bool timerCfg (hal_timer_t timer, timer_cfg_t *cfg);
36 | bool timerStart (hal_timer_t timer, uint32_t period);
37 | bool timerStop (hal_timer_t timer);
38 |
39 | /**/
40 |
--------------------------------------------------------------------------------
/Inc/usb_serial.h:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | usb_serial.h - stream interface for USB virtual serial port
4 |
5 | Part of grblHAL
6 |
7 | Copyright (c) 2021-2024 Terje Io
8 |
9 | grblHAL is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | grblHAL is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with grblHAL. If not, see .
21 |
22 | */
23 |
24 | #pragma once
25 |
26 | #include
27 | #include
28 |
29 | #include "driver.h"
30 |
31 | typedef struct {
32 | serial_linestate_t pin;
33 | uint32_t timestamp;
34 | } usb_linestate_t;
35 |
36 | extern volatile usb_linestate_t usb_linestate;
37 |
38 | const io_stream_t *usbInit (void);
39 | void usbBufferInput (uint8_t *data, uint32_t length);
40 |
41 | /*EOF*/
42 |
--------------------------------------------------------------------------------
/Inc/w5x00_ll_driver.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2022 WIZnet Co.,Ltd
3 | *
4 | * SPDX-License-Identifier: BSD-3-Clause
5 | */
6 |
7 | #ifndef _W5X00_LL_DRIVER_H_
8 | #define _W5X00_LL_DRIVER_H_
9 |
10 | #include "driver.h"
11 |
12 | #if ETHERNET_ENABLE && (_WIZCHIP_ == 5105 || _WIZCHIP_ == 5500)
13 |
14 | #include "wizchip_conf.h"
15 |
16 | typedef enum {
17 | WizChipInit_OK = 0,
18 | WizChipInit_MemErr = -1,
19 | WizChipInit_WrongChip = -2,
20 | WizChipInit_UnknownLinkStatus = -3
21 | } wizchip_init_err_t;
22 |
23 | /* GPIO */
24 | /*! \brief Initialize w5x00 gpio interrupt callback function
25 | * \ingroup w5x00_gpio_irq
26 | *
27 | * Add a w5x00 interrupt callback.
28 | *
29 | * \param socket socket number
30 | * \param callback the gpio interrupt callback function
31 | */
32 | bool wizchip_gpio_interrupt_initialize(uint8_t socket, void (*callback)(void));
33 |
34 | /*! \brief W5x00 chip reset
35 | * \ingroup w5x00_spi
36 | *
37 | * Set a reset pin and reset.
38 | *
39 | * \param none
40 | */
41 | void wizchip_reset(void);
42 |
43 | /*! \brief Initialize WIZchip
44 | * \ingroup w5x00_spi
45 | *
46 | * Set callback function to read/write byte using SPI.
47 | * Set callback function for WIZchip select/deselect.
48 | * Set memory size of W5x00 chip and monitor PHY link status.
49 | *
50 | * \param none
51 | */
52 | wizchip_init_err_t wizchip_initialize (void);
53 |
54 | /* Network */
55 | /*! \brief Initialize network
56 | * \ingroup w5x00_spi
57 | *
58 | * Set network information.
59 | *
60 | * \param net_info network information.
61 | */
62 | void network_initialize(wiz_NetInfo net_info);
63 |
64 | #endif /* _W5X00_LL_DRIVER_H_s */
65 | #endif
66 |
--------------------------------------------------------------------------------
/LWIP/App/lwip.h:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * File Name : LWIP.h
5 | * Description : This file provides code for the configuration
6 | * of the LWIP.
7 | ******************************************************************************
8 | * @attention
9 | *
10 | * Copyright (c) 2024 STMicroelectronics.
11 | * All rights reserved.
12 | *
13 | * This software is licensed under terms that can be found in the LICENSE file
14 | * in the root directory of this software component.
15 | * If no LICENSE file comes with this software, it is provided AS-IS.
16 | *
17 | *************************************************************************
18 |
19 | */
20 | /* USER CODE END Header */
21 | /* Define to prevent recursive inclusion -------------------------------------*/
22 | #ifndef __mx_lwip_H
23 | #define __mx_lwip_H
24 | #ifdef __cplusplus
25 | extern "C" {
26 | #endif
27 |
28 | /* Includes ------------------------------------------------------------------*/
29 | #include "lwip/opt.h"
30 | #include "lwip/mem.h"
31 | #include "lwip/memp.h"
32 | #include "netif/etharp.h"
33 | #include "lwip/dhcp.h"
34 | #include "lwip/netif.h"
35 | #include "lwip/timeouts.h"
36 | #include "ethernetif.h"
37 |
38 | /* Includes for RTOS ---------------------------------------------------------*/
39 | #if WITH_RTOS
40 | #include "lwip/tcpip.h"
41 | #endif /* WITH_RTOS */
42 |
43 | /* USER CODE BEGIN 0 */
44 |
45 | /* USER CODE END 0 */
46 |
47 | /* Global Variables ----------------------------------------------------------*/
48 | extern ETH_HandleTypeDef heth;
49 |
50 | /* LWIP init function */
51 | void MX_LWIP_Init(void);
52 |
53 | #if !WITH_RTOS
54 | /* USER CODE BEGIN 1 */
55 | /* Function defined in lwip.c to:
56 | * - Read a received packet from the Ethernet buffers
57 | * - Send it to the lwIP stack for handling
58 | * - Handle timeouts if NO_SYS_NO_TIMERS not set
59 | */
60 | void MX_LWIP_Process(void);
61 |
62 | /* USER CODE END 1 */
63 | #endif /* WITH_RTOS */
64 |
65 | #ifdef __cplusplus
66 | }
67 | #endif
68 | #endif /*__ mx_lwip_H */
69 |
70 | /**
71 | * @}
72 | */
73 |
74 | /**
75 | * @}
76 | */
77 |
--------------------------------------------------------------------------------
/LWIP/dp83848/Target/ethernetif.h:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * File Name : ethernetif.h
5 | * Description : This file provides initialization code for LWIP
6 | * middleWare.
7 | ******************************************************************************
8 | * @attention
9 | *
10 | * Copyright (c) 2024 STMicroelectronics.
11 | * All rights reserved.
12 | *
13 | * This software is licensed under terms that can be found in the LICENSE file
14 | * in the root directory of this software component.
15 | * If no LICENSE file comes with this software, it is provided AS-IS.
16 | *
17 | ******************************************************************************
18 | */
19 | /* USER CODE END Header */
20 |
21 | #ifndef __ETHERNETIF_H__
22 | #define __ETHERNETIF_H__
23 |
24 | #include "lwip/err.h"
25 | #include "lwip/netif.h"
26 |
27 | /* Within 'USER CODE' section, code will be kept by default at each generation */
28 | /* USER CODE BEGIN 0 */
29 |
30 | /* USER CODE END 0 */
31 |
32 | /* Exported functions ------------------------------------------------------- */
33 | err_t ethernetif_init(struct netif *netif);
34 |
35 | void ethernetif_input(struct netif *netif);
36 | void ethernet_link_check_state(struct netif *netif);
37 |
38 | void Error_Handler(void);
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 |
--------------------------------------------------------------------------------
/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file usbd_req.h
4 | * @author MCD Application Team
5 | * @brief Header file for the usbd_req.c file
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * Copyright (c) 2015 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software is licensed under terms that can be found in the LICENSE file
13 | * in the root directory of this software component.
14 | * If no LICENSE file comes with this software, it is provided AS-IS.
15 | *
16 | ******************************************************************************
17 | */
18 |
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __USB_REQUEST_H
21 | #define __USB_REQUEST_H
22 |
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | /* Includes ------------------------------------------------------------------*/
28 | #include "usbd_def.h"
29 |
30 |
31 | /** @addtogroup STM32_USB_DEVICE_LIBRARY
32 | * @{
33 | */
34 |
35 | /** @defgroup USBD_REQ
36 | * @brief header file for the usbd_req.c file
37 | * @{
38 | */
39 |
40 | /** @defgroup USBD_REQ_Exported_Defines
41 | * @{
42 | */
43 | /**
44 | * @}
45 | */
46 |
47 |
48 | /** @defgroup USBD_REQ_Exported_Types
49 | * @{
50 | */
51 | /**
52 | * @}
53 | */
54 |
55 |
56 |
57 | /** @defgroup USBD_REQ_Exported_Macros
58 | * @{
59 | */
60 | /**
61 | * @}
62 | */
63 |
64 | /** @defgroup USBD_REQ_Exported_Variables
65 | * @{
66 | */
67 | /**
68 | * @}
69 | */
70 |
71 | /** @defgroup USBD_REQ_Exported_FunctionsPrototype
72 | * @{
73 | */
74 |
75 | USBD_StatusTypeDef USBD_StdDevReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);
76 | USBD_StatusTypeDef USBD_StdItfReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);
77 | USBD_StatusTypeDef USBD_StdEPReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);
78 |
79 | void USBD_CtlError(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);
80 | void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata);
81 | void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len);
82 |
83 | /**
84 | * @}
85 | */
86 |
87 | #ifdef __cplusplus
88 | }
89 | #endif
90 |
91 | #endif /* __USB_REQUEST_H */
92 |
93 | /**
94 | * @}
95 | */
96 |
97 | /**
98 | * @}
99 | */
100 |
101 |
102 |
--------------------------------------------------------------------------------
/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file usbd_ioreq.h
4 | * @author MCD Application Team
5 | * @brief Header file for the usbd_ioreq.c file
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * Copyright (c) 2015 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software is licensed under terms that can be found in the LICENSE file
13 | * in the root directory of this software component.
14 | * If no LICENSE file comes with this software, it is provided AS-IS.
15 | *
16 | ******************************************************************************
17 | */
18 |
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __USBD_IOREQ_H
21 | #define __USBD_IOREQ_H
22 |
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | /* Includes ------------------------------------------------------------------*/
28 | #include "usbd_def.h"
29 | #include "usbd_core.h"
30 |
31 | /** @addtogroup STM32_USB_DEVICE_LIBRARY
32 | * @{
33 | */
34 |
35 | /** @defgroup USBD_IOREQ
36 | * @brief header file for the usbd_ioreq.c file
37 | * @{
38 | */
39 |
40 | /** @defgroup USBD_IOREQ_Exported_Defines
41 | * @{
42 | */
43 | /**
44 | * @}
45 | */
46 |
47 |
48 | /** @defgroup USBD_IOREQ_Exported_Types
49 | * @{
50 | */
51 |
52 |
53 | /**
54 | * @}
55 | */
56 |
57 |
58 |
59 | /** @defgroup USBD_IOREQ_Exported_Macros
60 | * @{
61 | */
62 |
63 | /**
64 | * @}
65 | */
66 |
67 | /** @defgroup USBD_IOREQ_Exported_Variables
68 | * @{
69 | */
70 |
71 | /**
72 | * @}
73 | */
74 |
75 | /** @defgroup USBD_IOREQ_Exported_FunctionsPrototype
76 | * @{
77 | */
78 |
79 | USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev,
80 | uint8_t *pbuf, uint32_t len);
81 |
82 | USBD_StatusTypeDef USBD_CtlContinueSendData(USBD_HandleTypeDef *pdev,
83 | uint8_t *pbuf, uint32_t len);
84 |
85 | USBD_StatusTypeDef USBD_CtlPrepareRx(USBD_HandleTypeDef *pdev,
86 | uint8_t *pbuf, uint32_t len);
87 |
88 | USBD_StatusTypeDef USBD_CtlContinueRx(USBD_HandleTypeDef *pdev,
89 | uint8_t *pbuf, uint32_t len);
90 |
91 | USBD_StatusTypeDef USBD_CtlSendStatus(USBD_HandleTypeDef *pdev);
92 | USBD_StatusTypeDef USBD_CtlReceiveStatus(USBD_HandleTypeDef *pdev);
93 |
94 | uint32_t USBD_GetRxCount(USBD_HandleTypeDef *pdev, uint8_t ep_addr);
95 |
96 | /**
97 | * @}
98 | */
99 |
100 | #ifdef __cplusplus
101 | }
102 | #endif
103 |
104 | #endif /* __USBD_IOREQ_H */
105 |
106 | /**
107 | * @}
108 | */
109 |
110 | /**
111 | * @}
112 | */
113 |
114 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/apps/altcp_tls/altcp_tls_mbedtls_mem.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * Application layered TCP/TLS connection API (to be used from TCPIP thread)
4 | *
5 | * This file contains memory management function prototypes for a TLS layer using mbedTLS.
6 | *
7 | * Memory management contains:
8 | * - allocating/freeing altcp_mbedtls_state_t
9 | * - allocating/freeing memory used in the mbedTLS library
10 | */
11 |
12 | /*
13 | * Copyright (c) 2017 Simon Goldschmidt
14 | * All rights reserved.
15 | *
16 | * Redistribution and use in source and binary forms, with or without modification,
17 | * are permitted provided that the following conditions are met:
18 | *
19 | * 1. Redistributions of source code must retain the above copyright notice,
20 | * this list of conditions and the following disclaimer.
21 | * 2. Redistributions in binary form must reproduce the above copyright notice,
22 | * this list of conditions and the following disclaimer in the documentation
23 | * and/or other materials provided with the distribution.
24 | * 3. The name of the author may not be used to endorse or promote products
25 | * derived from this software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
28 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
29 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
30 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
32 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
35 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
36 | * OF SUCH DAMAGE.
37 | *
38 | * This file is part of the lwIP TCP/IP stack.
39 | *
40 | * Author: Simon Goldschmidt
41 | *
42 | */
43 | #ifndef LWIP_HDR_ALTCP_MBEDTLS_MEM_H
44 | #define LWIP_HDR_ALTCP_MBEDTLS_MEM_H
45 |
46 | #include "lwip/opt.h"
47 |
48 | #if LWIP_ALTCP /* don't build if not configured for use in lwipopts.h */
49 |
50 | #include "lwip/apps/altcp_tls_mbedtls_opts.h"
51 |
52 | #if LWIP_ALTCP_TLS && LWIP_ALTCP_TLS_MBEDTLS
53 |
54 | #include "altcp_tls_mbedtls_structs.h"
55 |
56 | #ifdef __cplusplus
57 | extern "C" {
58 | #endif
59 |
60 | void altcp_mbedtls_mem_init(void);
61 | altcp_mbedtls_state_t *altcp_mbedtls_alloc(void *conf);
62 | void altcp_mbedtls_free(void *conf, altcp_mbedtls_state_t *state);
63 | void *altcp_mbedtls_alloc_config(size_t size);
64 | void altcp_mbedtls_free_config(void *item);
65 |
66 | #ifdef __cplusplus
67 | }
68 | #endif
69 |
70 | #endif /* LWIP_ALTCP_TLS && LWIP_ALTCP_TLS_MBEDTLS */
71 | #endif /* LWIP_ALTCP */
72 | #endif /* LWIP_HDR_ALTCP_MBEDTLS_MEM_H */
73 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/apps/altcp_tls/altcp_tls_mbedtls_structs.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * Application layered TCP/TLS connection API (to be used from TCPIP thread)
4 | *
5 | * This file contains structure definitions for a TLS layer using mbedTLS.
6 | */
7 |
8 | /*
9 | * Copyright (c) 2017 Simon Goldschmidt
10 | * All rights reserved.
11 | *
12 | * Redistribution and use in source and binary forms, with or without modification,
13 | * are permitted provided that the following conditions are met:
14 | *
15 | * 1. Redistributions of source code must retain the above copyright notice,
16 | * this list of conditions and the following disclaimer.
17 | * 2. Redistributions in binary form must reproduce the above copyright notice,
18 | * this list of conditions and the following disclaimer in the documentation
19 | * and/or other materials provided with the distribution.
20 | * 3. The name of the author may not be used to endorse or promote products
21 | * derived from this software without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
24 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
26 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
28 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
31 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
32 | * OF SUCH DAMAGE.
33 | *
34 | * This file is part of the lwIP TCP/IP stack.
35 | *
36 | * Author: Simon Goldschmidt
37 | *
38 | */
39 | #ifndef LWIP_HDR_ALTCP_MBEDTLS_STRUCTS_H
40 | #define LWIP_HDR_ALTCP_MBEDTLS_STRUCTS_H
41 |
42 | #include "lwip/opt.h"
43 |
44 | #if LWIP_ALTCP /* don't build if not configured for use in lwipopts.h */
45 |
46 | #include "lwip/apps/altcp_tls_mbedtls_opts.h"
47 |
48 | #if LWIP_ALTCP_TLS && LWIP_ALTCP_TLS_MBEDTLS
49 |
50 | #include "lwip/altcp.h"
51 | #include "lwip/pbuf.h"
52 |
53 | #include "mbedtls/ssl.h"
54 |
55 | #ifdef __cplusplus
56 | extern "C" {
57 | #endif
58 |
59 | #define ALTCP_MBEDTLS_FLAGS_HANDSHAKE_DONE 0x01
60 | #define ALTCP_MBEDTLS_FLAGS_UPPER_CALLED 0x02
61 | #define ALTCP_MBEDTLS_FLAGS_RX_CLOSE_QUEUED 0x04
62 | #define ALTCP_MBEDTLS_FLAGS_RX_CLOSED 0x08
63 | #define ALTCP_MBEDTLS_FLAGS_APPLDATA_SENT 0x10
64 |
65 | typedef struct altcp_mbedtls_state_s {
66 | void *conf;
67 | mbedtls_ssl_context ssl_context;
68 | /* chain of rx pbufs (before decryption) */
69 | struct pbuf *rx;
70 | struct pbuf *rx_app;
71 | u8_t flags;
72 | int rx_passed_unrecved;
73 | int bio_bytes_read;
74 | int bio_bytes_appl;
75 | } altcp_mbedtls_state_t;
76 |
77 | #ifdef __cplusplus
78 | }
79 | #endif
80 |
81 | #endif /* LWIP_ALTCP_TLS && LWIP_ALTCP_TLS_MBEDTLS */
82 | #endif /* LWIP_ALTCP */
83 | #endif /* LWIP_HDR_ALTCP_MBEDTLS_STRUCTS_H */
84 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/core/altcp_alloc.c:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * Application layered TCP connection API (to be used from TCPIP thread)\n
4 | * This interface mimics the tcp callback API to the application while preventing
5 | * direct linking (much like virtual functions).
6 | * This way, an application can make use of other application layer protocols
7 | * on top of TCP without knowing the details (e.g. TLS, proxy connection).
8 | *
9 | * This file contains allocation implementation that combine several layers.
10 | */
11 |
12 | /*
13 | * Copyright (c) 2017 Simon Goldschmidt
14 | * All rights reserved.
15 | *
16 | * Redistribution and use in source and binary forms, with or without modification,
17 | * are permitted provided that the following conditions are met:
18 | *
19 | * 1. Redistributions of source code must retain the above copyright notice,
20 | * this list of conditions and the following disclaimer.
21 | * 2. Redistributions in binary form must reproduce the above copyright notice,
22 | * this list of conditions and the following disclaimer in the documentation
23 | * and/or other materials provided with the distribution.
24 | * 3. The name of the author may not be used to endorse or promote products
25 | * derived from this software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
28 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
29 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
30 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
32 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
35 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
36 | * OF SUCH DAMAGE.
37 | *
38 | * This file is part of the lwIP TCP/IP stack.
39 | *
40 | * Author: Simon Goldschmidt
41 | *
42 | */
43 |
44 | #include "lwip/opt.h"
45 |
46 | #if LWIP_ALTCP /* don't build if not configured for use in lwipopts.h */
47 |
48 | #include "lwip/altcp.h"
49 | #include "lwip/altcp_tcp.h"
50 | #include "lwip/altcp_tls.h"
51 | #include "lwip/priv/altcp_priv.h"
52 | #include "lwip/mem.h"
53 |
54 | #include
55 |
56 | #if LWIP_ALTCP_TLS
57 |
58 | /** This standard allocator function creates an altcp pcb for
59 | * TLS over TCP */
60 | struct altcp_pcb *
61 | altcp_tls_new(struct altcp_tls_config *config, u8_t ip_type)
62 | {
63 | struct altcp_pcb *inner_conn, *ret;
64 | LWIP_UNUSED_ARG(ip_type);
65 |
66 | inner_conn = altcp_tcp_new_ip_type(ip_type);
67 | if (inner_conn == NULL) {
68 | return NULL;
69 | }
70 | ret = altcp_tls_wrap(config, inner_conn);
71 | if (ret == NULL) {
72 | altcp_close(inner_conn);
73 | }
74 | return ret;
75 | }
76 |
77 | /** This standard allocator function creates an altcp pcb for
78 | * TLS over TCP */
79 | struct altcp_pcb *
80 | altcp_tls_alloc(void *arg, u8_t ip_type)
81 | {
82 | return altcp_tls_new((struct altcp_tls_config *)arg, ip_type);
83 | }
84 |
85 | #endif /* LWIP_ALTCP_TLS */
86 |
87 | #endif /* LWIP_ALTCP */
88 |
--------------------------------------------------------------------------------
/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/compat/posix/arpa/inet.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/include/compat/posix/net/if.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * This file is a posix wrapper for lwip/if_api.h.
4 | */
5 |
6 | /*
7 | * Copyright (c) 2017 Joel Cunningham, Garmin International, Inc.
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 | */
35 |
36 | #include "lwip/if_api.h"
37 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/compat/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/compat/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/include/compat/stdc/errno.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * This file is a posix/stdc 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/lwip/altcp_tcp.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * Application layered TCP connection API (to be used from TCPIP thread)\n
4 | * This interface mimics the tcp callback API to the application while preventing
5 | * direct linking (much like virtual functions).
6 | * This way, an application can make use of other application layer protocols
7 | * on top of TCP without knowing the details (e.g. TLS, proxy connection).
8 | *
9 | * This file contains the base implementation calling into tcp.
10 | */
11 |
12 | /*
13 | * Copyright (c) 2017 Simon Goldschmidt
14 | * All rights reserved.
15 | *
16 | * Redistribution and use in source and binary forms, with or without modification,
17 | * are permitted provided that the following conditions are met:
18 | *
19 | * 1. Redistributions of source code must retain the above copyright notice,
20 | * this list of conditions and the following disclaimer.
21 | * 2. Redistributions in binary form must reproduce the above copyright notice,
22 | * this list of conditions and the following disclaimer in the documentation
23 | * and/or other materials provided with the distribution.
24 | * 3. The name of the author may not be used to endorse or promote products
25 | * derived from this software without specific prior written permission.
26 | *
27 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
28 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
29 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
30 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
32 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
35 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
36 | * OF SUCH DAMAGE.
37 | *
38 | * This file is part of the lwIP TCP/IP stack.
39 | *
40 | * Author: Simon Goldschmidt
41 | *
42 | */
43 | #ifndef LWIP_HDR_ALTCP_TCP_H
44 | #define LWIP_HDR_ALTCP_TCP_H
45 |
46 | #include "lwip/opt.h"
47 |
48 | #if LWIP_ALTCP /* don't build if not configured for use in lwipopts.h */
49 |
50 | #include "lwip/altcp.h"
51 |
52 | #ifdef __cplusplus
53 | extern "C" {
54 | #endif
55 |
56 | struct altcp_pcb *altcp_tcp_new_ip_type(u8_t ip_type);
57 |
58 | #define altcp_tcp_new() altcp_tcp_new_ip_type(IPADDR_TYPE_V4)
59 | #define altcp_tcp_new_ip6() altcp_tcp_new_ip_type(IPADDR_TYPE_V6)
60 |
61 | struct altcp_pcb *altcp_tcp_alloc(void *arg, u8_t ip_type);
62 |
63 | struct tcp_pcb;
64 | struct altcp_pcb *altcp_tcp_wrap(struct tcp_pcb *tpcb);
65 |
66 | #ifdef __cplusplus
67 | }
68 | #endif
69 |
70 | #endif /* LWIP_ALTCP */
71 |
72 | #endif /* LWIP_HDR_ALTCP_TCP_H */
73 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/altcp_proxyconnect.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * Application layered TCP connection API that executes a proxy-connect.
4 | *
5 | * This file provides a starting layer that executes a proxy-connect e.g. to
6 | * set up TLS connections through a http proxy.
7 | */
8 |
9 | /*
10 | * Copyright (c) 2018 Simon Goldschmidt
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: Simon Goldschmidt
38 | *
39 | */
40 |
41 | #ifndef LWIP_HDR_APPS_ALTCP_PROXYCONNECT_H
42 | #define LWIP_HDR_APPS_ALTCP_PROXYCONNECT_H
43 |
44 | #include "lwip/opt.h"
45 |
46 | #if LWIP_ALTCP /* don't build if not configured for use in lwipopts.h */
47 |
48 | #include "lwip/ip_addr.h"
49 |
50 | #ifdef __cplusplus
51 | extern "C" {
52 | #endif
53 |
54 | struct altcp_proxyconnect_config {
55 | ip_addr_t proxy_addr;
56 | u16_t proxy_port;
57 | };
58 |
59 |
60 | struct altcp_pcb *altcp_proxyconnect_new(struct altcp_proxyconnect_config *config, struct altcp_pcb *inner_pcb);
61 | struct altcp_pcb *altcp_proxyconnect_new_tcp(struct altcp_proxyconnect_config *config, u8_t ip_type);
62 |
63 | struct altcp_pcb *altcp_proxyconnect_alloc(void *arg, u8_t ip_type);
64 |
65 | #if LWIP_ALTCP_TLS
66 | struct altcp_proxyconnect_tls_config {
67 | struct altcp_proxyconnect_config proxy;
68 | struct altcp_tls_config *tls_config;
69 | };
70 |
71 | struct altcp_pcb *altcp_proxyconnect_tls_alloc(void *arg, u8_t ip_type);
72 | #endif /* LWIP_ALTCP_TLS */
73 |
74 | #ifdef __cplusplus
75 | }
76 | #endif
77 |
78 | #endif /* LWIP_ALTCP */
79 | #endif /* LWIP_HDR_APPS_ALTCP_PROXYCONNECT_H */
80 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/altcp_tls_mbedtls_opts.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * Application layered TCP/TLS connection API (to be used from TCPIP thread)
4 | *
5 | * This file contains options for an mbedtls port of the TLS layer.
6 | */
7 |
8 | /*
9 | * Copyright (c) 2017 Simon Goldschmidt
10 | * All rights reserved.
11 | *
12 | * Redistribution and use in source and binary forms, with or without modification,
13 | * are permitted provided that the following conditions are met:
14 | *
15 | * 1. Redistributions of source code must retain the above copyright notice,
16 | * this list of conditions and the following disclaimer.
17 | * 2. Redistributions in binary form must reproduce the above copyright notice,
18 | * this list of conditions and the following disclaimer in the documentation
19 | * and/or other materials provided with the distribution.
20 | * 3. The name of the author may not be used to endorse or promote products
21 | * derived from this software without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
24 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
26 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
28 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
31 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
32 | * OF SUCH DAMAGE.
33 | *
34 | * This file is part of the lwIP TCP/IP stack.
35 | *
36 | * Author: Simon Goldschmidt
37 | *
38 | */
39 | #ifndef LWIP_HDR_ALTCP_TLS_OPTS_H
40 | #define LWIP_HDR_ALTCP_TLS_OPTS_H
41 |
42 | #include "lwip/opt.h"
43 |
44 | #if LWIP_ALTCP /* don't build if not configured for use in lwipopts.h */
45 |
46 | /** LWIP_ALTCP_TLS_MBEDTLS==1: use mbedTLS for TLS support for altcp API
47 | * mbedtls include directory must be reachable via include search path
48 | */
49 | #ifndef LWIP_ALTCP_TLS_MBEDTLS
50 | #define LWIP_ALTCP_TLS_MBEDTLS 0
51 | #endif
52 |
53 | /** Configure debug level of this file */
54 | #ifndef ALTCP_MBEDTLS_DEBUG
55 | #define ALTCP_MBEDTLS_DEBUG LWIP_DBG_OFF
56 | #endif
57 |
58 | /** Set a session timeout in seconds for the basic session cache
59 | * ATTENTION: Using a session cache can lower security by reusing keys!
60 | */
61 | #ifndef ALTCP_MBEDTLS_SESSION_CACHE_TIMEOUT_SECONDS
62 | #define ALTCP_MBEDTLS_SESSION_CACHE_TIMEOUT_SECONDS 0
63 | #endif
64 |
65 | #endif /* LWIP_ALTCP */
66 |
67 | #endif /* LWIP_HDR_ALTCP_TLS_OPTS_H */
68 |
--------------------------------------------------------------------------------
/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 | /** MDNS_RESP_USENETIF_EXTCALLBACK==1: register an ext_callback on the netif
63 | * to automatically restart probing/announcing on status or address change.
64 | */
65 | #ifndef MDNS_RESP_USENETIF_EXTCALLBACK
66 | #define MDNS_RESP_USENETIF_EXTCALLBACK LWIP_NETIF_EXT_STATUS_CALLBACK
67 | #endif
68 |
69 | /**
70 | * MDNS_DEBUG: Enable debugging for multicast DNS.
71 | */
72 | #ifndef MDNS_DEBUG
73 | #define MDNS_DEBUG LWIP_DBG_OFF
74 | #endif
75 |
76 | /**
77 | * @}
78 | */
79 |
80 | #endif /* LWIP_HDR_APPS_MDNS_OPTS_H */
81 |
82 |
--------------------------------------------------------------------------------
/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 | #ifdef __cplusplus
44 | extern "C" {
45 | #endif
46 |
47 | #if LWIP_MDNS_RESPONDER
48 |
49 | /* Domain struct and methods - visible for unit tests */
50 |
51 | #define MDNS_DOMAIN_MAXLEN 256
52 | #define MDNS_READNAME_ERROR 0xFFFF
53 |
54 | struct mdns_domain {
55 | /* Encoded domain name */
56 | u8_t name[MDNS_DOMAIN_MAXLEN];
57 | /* Total length of domain name, including zero */
58 | u16_t length;
59 | /* Set if compression of this domain is not allowed */
60 | u8_t skip_compression;
61 | };
62 |
63 | err_t mdns_domain_add_label(struct mdns_domain *domain, const char *label, u8_t len);
64 | u16_t mdns_readname(struct pbuf *p, u16_t offset, struct mdns_domain *domain);
65 | int mdns_domain_eq(struct mdns_domain *a, struct mdns_domain *b);
66 | u16_t mdns_compress_domain(struct pbuf *pbuf, u16_t *offset, struct mdns_domain *domain);
67 |
68 | #endif /* LWIP_MDNS_RESPONDER */
69 |
70 | #ifdef __cplusplus
71 | }
72 | #endif
73 |
74 | #endif /* LWIP_HDR_MDNS_PRIV_H */
75 |
--------------------------------------------------------------------------------
/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 | #ifdef __cplusplus
38 | extern "C" {
39 | #endif
40 |
41 | void netbiosns_init(void);
42 | #ifndef NETBIOS_LWIP_NAME
43 | void netbiosns_set_name(const char* hostname);
44 | #endif
45 | void netbiosns_stop(void);
46 |
47 | #ifdef __cplusplus
48 | }
49 | #endif
50 |
51 | #endif /* LWIP_HDR_APPS_NETBIOS_H */
52 |
--------------------------------------------------------------------------------
/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 | /** Respond to NetBIOS name queries
56 | * Default is disabled
57 | */
58 | #if !defined LWIP_NETBIOS_RESPOND_NAME_QUERY || defined __DOXYGEN__
59 | #define LWIP_NETBIOS_RESPOND_NAME_QUERY 0
60 | #endif
61 |
62 | /**
63 | * @}
64 | */
65 |
66 | #endif /* LWIP_HDR_APPS_NETBIOS_OPTS_H */
67 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/smtp_opts.h:
--------------------------------------------------------------------------------
1 | #ifndef LWIP_HDR_APPS_SMTP_OPTS_H
2 | #define LWIP_HDR_APPS_SMTP_OPTS_H
3 |
4 | #include "lwip/opt.h"
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | /**
11 | * @defgroup smtp_opts Options
12 | * @ingroup smtp
13 | *
14 | * @{
15 | */
16 |
17 | /** Set this to 1 to enable data handler callback on BODY */
18 | #ifndef SMTP_BODYDH
19 | #define SMTP_BODYDH 0
20 | #endif
21 |
22 | /** SMTP_DEBUG: Enable debugging for SNTP. */
23 | #ifndef SMTP_DEBUG
24 | #define SMTP_DEBUG LWIP_DBG_OFF
25 | #endif
26 |
27 | /** Maximum length reserved for server name including terminating 0 byte */
28 | #ifndef SMTP_MAX_SERVERNAME_LEN
29 | #define SMTP_MAX_SERVERNAME_LEN 256
30 | #endif
31 |
32 | /** Maximum length reserved for username */
33 | #ifndef SMTP_MAX_USERNAME_LEN
34 | #define SMTP_MAX_USERNAME_LEN 32
35 | #endif
36 |
37 | /** Maximum length reserved for password */
38 | #ifndef SMTP_MAX_PASS_LEN
39 | #define SMTP_MAX_PASS_LEN 32
40 | #endif
41 |
42 | /** Set this to 0 if you know the authentication data will not change
43 | * during the smtp session, which saves some heap space. */
44 | #ifndef SMTP_COPY_AUTHDATA
45 | #define SMTP_COPY_AUTHDATA 1
46 | #endif
47 |
48 | /** Set this to 0 to save some code space if you know for sure that all data
49 | * passed to this module conforms to the requirements in the SMTP RFC.
50 | * WARNING: use this with care!
51 | */
52 | #ifndef SMTP_CHECK_DATA
53 | #define SMTP_CHECK_DATA 1
54 | #endif
55 |
56 | /** Set this to 1 to enable AUTH PLAIN support */
57 | #ifndef SMTP_SUPPORT_AUTH_PLAIN
58 | #define SMTP_SUPPORT_AUTH_PLAIN 1
59 | #endif
60 |
61 | /** Set this to 1 to enable AUTH LOGIN support */
62 | #ifndef SMTP_SUPPORT_AUTH_LOGIN
63 | #define SMTP_SUPPORT_AUTH_LOGIN 1
64 | #endif
65 |
66 | /* Memory allocation/deallocation can be overridden... */
67 | #ifndef SMTP_STATE_MALLOC
68 | #define SMTP_STATE_MALLOC(size) mem_malloc(size)
69 | #define SMTP_STATE_FREE(ptr) mem_free(ptr)
70 | #endif
71 |
72 | /**
73 | * @}
74 | */
75 |
76 | #ifdef __cplusplus
77 | }
78 | #endif
79 |
80 | #endif /* SMTP_OPTS_H */
81 |
82 |
--------------------------------------------------------------------------------
/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/snmp_snmpv2_framework.h:
--------------------------------------------------------------------------------
1 | /*
2 | Generated by LwipMibCompiler
3 | */
4 |
5 | #ifndef LWIP_HDR_APPS_SNMP_FRAMEWORK_MIB_H
6 | #define LWIP_HDR_APPS_SNMP_FRAMEWORK_MIB_H
7 |
8 | #include "lwip/apps/snmp_opts.h"
9 | #if LWIP_SNMP
10 |
11 | #ifdef __cplusplus
12 | extern "C" {
13 | #endif /* __cplusplus */
14 |
15 | #include "lwip/apps/snmp_core.h"
16 |
17 | extern const struct snmp_obj_id usmNoAuthProtocol;
18 | extern const struct snmp_obj_id usmHMACMD5AuthProtocol;
19 | extern const struct snmp_obj_id usmHMACSHAAuthProtocol;
20 |
21 | extern const struct snmp_obj_id usmNoPrivProtocol;
22 | extern const struct snmp_obj_id usmDESPrivProtocol;
23 | extern const struct snmp_obj_id usmAESPrivProtocol;
24 |
25 | extern const struct snmp_mib snmpframeworkmib;
26 |
27 | #ifdef __cplusplus
28 | }
29 | #endif /* __cplusplus */
30 |
31 | #endif /* LWIP_SNMP */
32 | #endif /* LWIP_HDR_APPS_SNMP_FRAMEWORK_MIB_H */
33 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/apps/snmp_snmpv2_usm.h:
--------------------------------------------------------------------------------
1 | /*
2 | Generated by LwipMibCompiler
3 | */
4 |
5 | #ifndef LWIP_HDR_APPS_SNMP_USER_BASED_SM_MIB_H
6 | #define LWIP_HDR_APPS_SNMP_USER_BASED_SM_MIB_H
7 |
8 | #include "lwip/apps/snmp_opts.h"
9 | #if LWIP_SNMP
10 |
11 | #ifdef __cplusplus
12 | extern "C" {
13 | #endif /* __cplusplus */
14 |
15 | #include "lwip/apps/snmp_core.h"
16 |
17 | extern const struct snmp_mib snmpusmmib;
18 |
19 | #ifdef __cplusplus
20 | }
21 | #endif /* __cplusplus */
22 |
23 | #endif /* LWIP_SNMP */
24 | #endif /* LWIP_HDR_APPS_SNMP_USER_BASED_SM_MIB_H */
25 |
--------------------------------------------------------------------------------
/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_MONITOR_SERVER_REACHABILITY
62 | u8_t sntp_getreachability(u8_t idx);
63 | #endif /* SNTP_MONITOR_SERVER_REACHABILITY */
64 |
65 | #if SNTP_SERVER_DNS
66 | void sntp_setservername(u8_t idx, const char *server);
67 | const char *sntp_getservername(u8_t idx);
68 | #endif /* SNTP_SERVER_DNS */
69 |
70 | #if SNTP_GET_SERVERS_FROM_DHCP
71 | void sntp_servermode_dhcp(int set_servers_from_dhcp);
72 | #else /* SNTP_GET_SERVERS_FROM_DHCP */
73 | #define sntp_servermode_dhcp(x)
74 | #endif /* SNTP_GET_SERVERS_FROM_DHCP */
75 |
76 | #ifdef __cplusplus
77 | }
78 | #endif
79 |
80 | #endif /* LWIP_HDR_APPS_SNTP_H */
81 |
--------------------------------------------------------------------------------
/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 | #include "lwip/prot/iana.h"
46 |
47 | /**
48 | * @defgroup tftp_opts Options
49 | * @ingroup tftp
50 | * @{
51 | */
52 |
53 | /**
54 | * Enable TFTP debug messages
55 | */
56 | #if !defined TFTP_DEBUG || defined __DOXYGEN__
57 | #define TFTP_DEBUG LWIP_DBG_OFF
58 | #endif
59 |
60 | /**
61 | * TFTP server port
62 | */
63 | #if !defined TFTP_PORT || defined __DOXYGEN__
64 | #define TFTP_PORT LWIP_IANA_PORT_TFTP
65 | #endif
66 |
67 | /**
68 | * TFTP timeout
69 | */
70 | #if !defined TFTP_TIMEOUT_MSECS || defined __DOXYGEN__
71 | #define TFTP_TIMEOUT_MSECS 10000
72 | #endif
73 |
74 | /**
75 | * Max. number of retries when a file is read from server
76 | */
77 | #if !defined TFTP_MAX_RETRIES || defined __DOXYGEN__
78 | #define TFTP_MAX_RETRIES 5
79 | #endif
80 |
81 | /**
82 | * TFTP timer cyclic interval
83 | */
84 | #if !defined TFTP_TIMER_MSECS || defined __DOXYGEN__
85 | #define TFTP_TIMER_MSECS (TFTP_TIMEOUT_MSECS / 10)
86 | #endif
87 |
88 | /**
89 | * Max. length of TFTP filename
90 | */
91 | #if !defined TFTP_MAX_FILENAME_LEN || defined __DOXYGEN__
92 | #define TFTP_MAX_FILENAME_LEN 20
93 | #endif
94 |
95 | /**
96 | * Max. length of TFTP mode
97 | */
98 | #if !defined TFTP_MAX_MODE_LEN || defined __DOXYGEN__
99 | #define TFTP_MAX_MODE_LEN 7
100 | #endif
101 |
102 | /**
103 | * @}
104 | */
105 |
106 | #endif /* LWIP_HDR_APPS_TFTP_OPTS_H */
107 |
--------------------------------------------------------------------------------
/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_time_exceeded_with_addrs(struct pbuf *p, enum icmp6_te_code c,
61 | const ip6_addr_t *src_addr, const ip6_addr_t *dest_addr);
62 | void icmp6_param_problem(struct pbuf *p, enum icmp6_pp_code c, const void *pointer);
63 |
64 | #endif /* LWIP_ICMP6 && LWIP_IPV6 */
65 |
66 |
67 | #ifdef __cplusplus
68 | }
69 | #endif
70 |
71 |
72 | #endif /* LWIP_HDR_ICMP6_H */
73 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/if_api.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * Interface Identification APIs from:
4 | * RFC 3493: Basic Socket Interface Extensions for IPv6
5 | * Section 4: Interface Identification
6 | */
7 |
8 | /*
9 | * Copyright (c) 2017 Joel Cunningham, Garmin International, Inc.
10 | * All rights reserved.
11 | *
12 | * Redistribution and use in source and binary forms, with or without modification,
13 | * are permitted provided that the following conditions are met:
14 | *
15 | * 1. Redistributions of source code must retain the above copyright notice,
16 | * this list of conditions and the following disclaimer.
17 | * 2. Redistributions in binary form must reproduce the above copyright notice,
18 | * this list of conditions and the following disclaimer in the documentation
19 | * and/or other materials provided with the distribution.
20 | * 3. The name of the author may not be used to endorse or promote products
21 | * derived from this software without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
24 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
26 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
28 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
31 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
32 | * OF SUCH DAMAGE.
33 | *
34 | * This file is part of the lwIP TCP/IP stack.
35 | *
36 | * Author: Joel Cunningham
37 | *
38 | */
39 | #ifndef LWIP_HDR_IF_H
40 | #define LWIP_HDR_IF_H
41 |
42 | #include "lwip/opt.h"
43 |
44 | #if LWIP_SOCKET /* don't build if not configured for use in lwipopts.h */
45 |
46 | #include "lwip/netif.h"
47 |
48 | #ifdef __cplusplus
49 | extern "C" {
50 | #endif
51 |
52 | #define IF_NAMESIZE NETIF_NAMESIZE
53 |
54 | char * lwip_if_indextoname(unsigned int ifindex, char *ifname);
55 | unsigned int lwip_if_nametoindex(const char *ifname);
56 |
57 | #if LWIP_COMPAT_SOCKETS
58 | #define if_indextoname(ifindex, ifname) lwip_if_indextoname(ifindex,ifname)
59 | #define if_nametoindex(ifname) lwip_if_nametoindex(ifname)
60 | #endif /* LWIP_COMPAT_SOCKETS */
61 |
62 | #ifdef __cplusplus
63 | }
64 | #endif
65 |
66 | #endif /* LWIP_SOCKET */
67 |
68 | #endif /* LWIP_HDR_IF_H */
69 |
--------------------------------------------------------------------------------
/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/priv/raw_priv.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * raw API internal implementations (do not use in application code)
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_RAW_PRIV_H
38 | #define LWIP_HDR_RAW_PRIV_H
39 |
40 | #include "lwip/opt.h"
41 |
42 | #if LWIP_RAW /* don't build if not configured for use in lwipopts.h */
43 |
44 | #include "lwip/raw.h"
45 |
46 | #ifdef __cplusplus
47 | extern "C" {
48 | #endif
49 |
50 | /** return codes for raw_input */
51 | typedef enum raw_input_state
52 | {
53 | RAW_INPUT_NONE = 0, /* pbuf did not match any pcbs */
54 | RAW_INPUT_EATEN, /* pbuf handed off and delivered to pcb */
55 | RAW_INPUT_DELIVERED /* pbuf only delivered to pcb (pbuf can still be referenced) */
56 | } raw_input_state_t;
57 |
58 | /* The following functions are the lower layer interface to RAW. */
59 | raw_input_state_t raw_input(struct pbuf *p, struct netif *inp);
60 |
61 | void raw_netif_ip_addr_changed(const ip_addr_t* old_addr, const ip_addr_t* new_addr);
62 |
63 | #ifdef __cplusplus
64 | }
65 | #endif
66 |
67 | #endif /* LWIP_RAW */
68 |
69 | #endif /* LWIP_HDR_RAW_PRIV_H */
70 |
--------------------------------------------------------------------------------
/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/iana.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * IANA assigned numbers (RFC 1700 and successors)
4 | *
5 | * @defgroup iana IANA assigned numbers
6 | * @ingroup infrastructure
7 | */
8 |
9 | /*
10 | * Copyright (c) 2017 Dirk Ziegelmeier.
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: Dirk Ziegelmeier
38 | *
39 | */
40 |
41 | #ifndef LWIP_HDR_PROT_IANA_H
42 | #define LWIP_HDR_PROT_IANA_H
43 |
44 | #ifdef __cplusplus
45 | extern "C" {
46 | #endif
47 |
48 | /**
49 | * @ingroup iana
50 | * Hardware types
51 | */
52 | enum lwip_iana_hwtype {
53 | /** Ethernet */
54 | LWIP_IANA_HWTYPE_ETHERNET = 1
55 | };
56 |
57 | /**
58 | * @ingroup iana
59 | * Port numbers
60 | * https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt
61 | */
62 | enum lwip_iana_port_number {
63 | /** SMTP */
64 | LWIP_IANA_PORT_SMTP = 25,
65 | /** DHCP server */
66 | LWIP_IANA_PORT_DHCP_SERVER = 67,
67 | /** DHCP client */
68 | LWIP_IANA_PORT_DHCP_CLIENT = 68,
69 | /** TFTP */
70 | LWIP_IANA_PORT_TFTP = 69,
71 | /** HTTP */
72 | LWIP_IANA_PORT_HTTP = 80,
73 | /** SNTP */
74 | LWIP_IANA_PORT_SNTP = 123,
75 | /** NETBIOS */
76 | LWIP_IANA_PORT_NETBIOS = 137,
77 | /** SNMP */
78 | LWIP_IANA_PORT_SNMP = 161,
79 | /** SNMP traps */
80 | LWIP_IANA_PORT_SNMP_TRAP = 162,
81 | /** HTTPS */
82 | LWIP_IANA_PORT_HTTPS = 443,
83 | /** SMTPS */
84 | LWIP_IANA_PORT_SMTPS = 465,
85 | /** MQTT */
86 | LWIP_IANA_PORT_MQTT = 1883,
87 | /** MDNS */
88 | LWIP_IANA_PORT_MDNS = 5353,
89 | /** Secure MQTT */
90 | LWIP_IANA_PORT_SECURE_MQTT = 8883
91 | };
92 |
93 | #ifdef __cplusplus
94 | }
95 | #endif
96 |
97 | #endif /* LWIP_HDR_PROT_IANA_H */
98 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/lwip/prot/ieee.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * IEEE assigned numbers
4 | *
5 | * @defgroup ieee IEEE assigned numbers
6 | * @ingroup infrastructure
7 | */
8 |
9 | /*
10 | * Copyright (c) 2017 Dirk Ziegelmeier.
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: Dirk Ziegelmeier
38 | *
39 | */
40 |
41 | #ifndef LWIP_HDR_PROT_IEEE_H
42 | #define LWIP_HDR_PROT_IEEE_H
43 |
44 | #ifdef __cplusplus
45 | extern "C" {
46 | #endif
47 |
48 | /**
49 | * @ingroup ieee
50 | * A list of often ethtypes (although lwIP does not use all of them).
51 | */
52 | enum lwip_ieee_eth_type {
53 | /** Internet protocol v4 */
54 | ETHTYPE_IP = 0x0800U,
55 | /** Address resolution protocol */
56 | ETHTYPE_ARP = 0x0806U,
57 | /** Wake on lan */
58 | ETHTYPE_WOL = 0x0842U,
59 | /** RARP */
60 | ETHTYPE_RARP = 0x8035U,
61 | /** Virtual local area network */
62 | ETHTYPE_VLAN = 0x8100U,
63 | /** Internet protocol v6 */
64 | ETHTYPE_IPV6 = 0x86DDU,
65 | /** PPP Over Ethernet Discovery Stage */
66 | ETHTYPE_PPPOEDISC = 0x8863U,
67 | /** PPP Over Ethernet Session Stage */
68 | ETHTYPE_PPPOE = 0x8864U,
69 | /** Jumbo Frames */
70 | ETHTYPE_JUMBO = 0x8870U,
71 | /** Process field network */
72 | ETHTYPE_PROFINET = 0x8892U,
73 | /** Ethernet for control automation technology */
74 | ETHTYPE_ETHERCAT = 0x88A4U,
75 | /** Link layer discovery protocol */
76 | ETHTYPE_LLDP = 0x88CCU,
77 | /** Serial real-time communication system */
78 | ETHTYPE_SERCOS = 0x88CDU,
79 | /** Media redundancy protocol */
80 | ETHTYPE_MRP = 0x88E3U,
81 | /** Precision time protocol */
82 | ETHTYPE_PTP = 0x88F7U,
83 | /** Q-in-Q, 802.1ad */
84 | ETHTYPE_QINQ = 0x9100U
85 | };
86 |
87 | #ifdef __cplusplus
88 | }
89 | #endif
90 |
91 | #endif /* LWIP_HDR_PROT_IEEE_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/prot/ip4.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 | #ifdef __cplusplus
43 | extern "C" {
44 | #endif
45 |
46 | #define IP_PROTO_ICMP 1
47 | #define IP_PROTO_IGMP 2
48 | #define IP_PROTO_UDP 17
49 | #define IP_PROTO_UDPLITE 136
50 | #define IP_PROTO_TCP 6
51 |
52 | /** This operates on a void* by loading the first byte */
53 | #define IP_HDR_GET_VERSION(ptr) ((*(u8_t*)(ptr)) >> 4)
54 |
55 | #ifdef __cplusplus
56 | }
57 | #endif
58 |
59 | #endif /* LWIP_HDR_PROT_IP_H */
60 |
--------------------------------------------------------------------------------
/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 | #define MLD6_HBH_HLEN 8
48 | /** Multicast listener report/query/done message header. */
49 | #ifdef PACK_STRUCT_USE_INCLUDES
50 | # include "arch/bpstruct.h"
51 | #endif
52 | PACK_STRUCT_BEGIN
53 | struct mld_header {
54 | PACK_STRUCT_FLD_8(u8_t type);
55 | PACK_STRUCT_FLD_8(u8_t code);
56 | PACK_STRUCT_FIELD(u16_t chksum);
57 | PACK_STRUCT_FIELD(u16_t max_resp_delay);
58 | PACK_STRUCT_FIELD(u16_t reserved);
59 | PACK_STRUCT_FLD_S(ip6_addr_p_t multicast_address);
60 | /* Options follow. */
61 | } PACK_STRUCT_STRUCT;
62 | PACK_STRUCT_END
63 | #ifdef PACK_STRUCT_USE_INCLUDES
64 | # include "arch/epstruct.h"
65 | #endif
66 |
67 | #ifdef __cplusplus
68 | }
69 | #endif
70 |
71 | #endif /* LWIP_HDR_PROT_MLD6_H */
72 |
--------------------------------------------------------------------------------
/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/lwip/tcpbase.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * Base TCP API definitions shared by TCP and ALTCP\n
4 | * See also @ref tcp_raw
5 | */
6 |
7 | /*
8 | * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
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: Adam Dunkels
36 | *
37 | */
38 | #ifndef LWIP_HDR_TCPBASE_H
39 | #define LWIP_HDR_TCPBASE_H
40 |
41 | #include "lwip/opt.h"
42 |
43 | #if LWIP_TCP /* don't build if not configured for use in lwipopts.h */
44 |
45 | #ifdef __cplusplus
46 | extern "C" {
47 | #endif
48 |
49 |
50 | #if LWIP_WND_SCALE
51 | typedef u32_t tcpwnd_size_t;
52 | #else
53 | typedef u16_t tcpwnd_size_t;
54 | #endif
55 |
56 | enum tcp_state {
57 | CLOSED = 0,
58 | LISTEN = 1,
59 | SYN_SENT = 2,
60 | SYN_RCVD = 3,
61 | ESTABLISHED = 4,
62 | FIN_WAIT_1 = 5,
63 | FIN_WAIT_2 = 6,
64 | CLOSE_WAIT = 7,
65 | CLOSING = 8,
66 | LAST_ACK = 9,
67 | TIME_WAIT = 10
68 | };
69 | /* ATTENTION: this depends on state number ordering! */
70 | #define TCP_STATE_IS_CLOSING(state) ((state) >= FIN_WAIT_1)
71 |
72 | /* Flags for "apiflags" parameter in tcp_write */
73 | #define TCP_WRITE_FLAG_COPY 0x01
74 | #define TCP_WRITE_FLAG_MORE 0x02
75 |
76 | #define TCP_PRIO_MIN 1
77 | #define TCP_PRIO_NORMAL 64
78 | #define TCP_PRIO_MAX 127
79 |
80 | const char* tcp_debug_state_str(enum tcp_state s);
81 |
82 | #ifdef __cplusplus
83 | }
84 | #endif
85 |
86 | #endif /* LWIP_TCP */
87 |
88 | #endif /* LWIP_HDR_TCPBASE_H */
89 |
--------------------------------------------------------------------------------
/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
48 |
49 | #include "netif/lowpan6_common.h"
50 | #include "lwip/pbuf.h"
51 | #include "lwip/ip.h"
52 | #include "lwip/ip_addr.h"
53 | #include "lwip/netif.h"
54 |
55 | #ifdef __cplusplus
56 | extern "C" {
57 | #endif
58 |
59 | /** 1 second period for reassembly */
60 | #define LOWPAN6_TMR_INTERVAL 1000
61 |
62 | void lowpan6_tmr(void);
63 |
64 | err_t lowpan6_set_context(u8_t idx, const ip6_addr_t * context);
65 | err_t lowpan6_set_short_addr(u8_t addr_high, u8_t addr_low);
66 |
67 | #if LWIP_IPV4
68 | err_t lowpan4_output(struct netif *netif, struct pbuf *q, const ip4_addr_t *ipaddr);
69 | #endif /* LWIP_IPV4 */
70 | err_t lowpan6_output(struct netif *netif, struct pbuf *q, const ip6_addr_t *ip6addr);
71 | err_t lowpan6_input(struct pbuf * p, struct netif *netif);
72 | err_t lowpan6_if_init(struct netif *netif);
73 |
74 | /* pan_id in network byte order. */
75 | err_t lowpan6_set_pan_id(u16_t pan_id);
76 |
77 | u16_t lowpan6_calc_crc(const void *buf, u16_t len);
78 |
79 | #if !NO_SYS
80 | err_t tcpip_6lowpan_input(struct pbuf *p, struct netif *inp);
81 | #endif /* !NO_SYS */
82 |
83 | #ifdef __cplusplus
84 | }
85 | #endif
86 |
87 | #endif /* LWIP_IPV6 */
88 |
89 | #endif /* LWIP_HDR_LOWPAN6_H */
90 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/netif/lowpan6_ble.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * 6LowPAN over BLE for IPv6 (RFC7668).
4 | */
5 |
6 | /*
7 | * Copyright (c) 2017 Benjamin Aigner
8 | * Copyright (c) 2015 Inico Technologies Ltd. , Author: Ivan Delamer
9 | *
10 | * All rights reserved.
11 | *
12 | * Redistribution and use in source and binary forms, with or without modification,
13 | * are permitted provided that the following conditions are met:
14 | *
15 | * 1. Redistributions of source code must retain the above copyright notice,
16 | * this list of conditions and the following disclaimer.
17 | * 2. Redistributions in binary form must reproduce the above copyright notice,
18 | * this list of conditions and the following disclaimer in the documentation
19 | * and/or other materials provided with the distribution.
20 | * 3. The name of the author may not be used to endorse or promote products
21 | * derived from this software without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
24 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
26 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
28 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
31 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
32 | * OF SUCH DAMAGE.
33 | *
34 | * Author: Benjamin Aigner
35 | *
36 | * Based on the original 6lowpan implementation of lwIP ( @see 6lowpan.c)
37 | */
38 |
39 | #ifndef LWIP_HDR_LOWPAN6_BLE_H
40 | #define LWIP_HDR_LOWPAN6_BLE_H
41 |
42 | #include "netif/lowpan6_opts.h"
43 |
44 | #if LWIP_IPV6 /* don't build if not configured for use in lwipopts.h */
45 |
46 | #include "netif/lowpan6_common.h"
47 | #include "lwip/pbuf.h"
48 | #include "lwip/ip.h"
49 | #include "lwip/ip_addr.h"
50 | #include "lwip/netif.h"
51 |
52 | #ifdef __cplusplus
53 | extern "C" {
54 | #endif
55 |
56 | err_t rfc7668_output(struct netif *netif, struct pbuf *q, const ip6_addr_t *ip6addr);
57 | err_t rfc7668_input(struct pbuf * p, struct netif *netif);
58 | err_t rfc7668_set_local_addr_eui64(struct netif *netif, const u8_t *local_addr, size_t local_addr_len);
59 | err_t rfc7668_set_local_addr_mac48(struct netif *netif, const u8_t *local_addr, size_t local_addr_len, int is_public_addr);
60 | err_t rfc7668_set_peer_addr_eui64(struct netif *netif, const u8_t *peer_addr, size_t peer_addr_len);
61 | err_t rfc7668_set_peer_addr_mac48(struct netif *netif, const u8_t *peer_addr, size_t peer_addr_len, int is_public_addr);
62 | err_t rfc7668_set_context(u8_t index, const ip6_addr_t * context);
63 | err_t rfc7668_if_init(struct netif *netif);
64 |
65 | #if !NO_SYS
66 | err_t tcpip_rfc7668_input(struct pbuf *p, struct netif *inp);
67 | #endif
68 |
69 | void ble_addr_to_eui64(uint8_t *dst, const uint8_t *src, int public_addr);
70 | void eui64_to_ble_addr(uint8_t *dst, const uint8_t *src);
71 |
72 | #ifdef __cplusplus
73 | }
74 | #endif
75 |
76 | #endif /* LWIP_IPV6 */
77 |
78 | #endif /* LWIP_HDR_LOWPAN6_BLE_H */
79 |
--------------------------------------------------------------------------------
/Middlewares/Third_Party/LwIP/src/include/netif/lowpan6_common.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | *
4 | * Common 6LowPAN routines 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_COMMON_H
43 | #define LWIP_HDR_LOWPAN6_COMMON_H
44 |
45 | #include "netif/lowpan6_opts.h"
46 |
47 | #if LWIP_IPV6 /* don't build if IPv6 is disabled in lwipopts.h */
48 |
49 | #include "lwip/pbuf.h"
50 | #include "lwip/ip.h"
51 | #include "lwip/ip6_addr.h"
52 | #include "lwip/netif.h"
53 |
54 | #ifdef __cplusplus
55 | extern "C" {
56 | #endif
57 |
58 | /** Helper define for a link layer address, which can be encoded as 0, 2 or 8 bytes */
59 | struct lowpan6_link_addr {
60 | /* encoded length of the address */
61 | u8_t addr_len;
62 | /* address bytes */
63 | u8_t addr[8];
64 | };
65 |
66 | s8_t lowpan6_get_address_mode(const ip6_addr_t *ip6addr, const struct lowpan6_link_addr *mac_addr);
67 |
68 | #if LWIP_6LOWPAN_IPHC
69 | err_t lowpan6_compress_headers(struct netif *netif, u8_t *inbuf, size_t inbuf_size, u8_t *outbuf, size_t outbuf_size,
70 | u8_t *lowpan6_header_len_out, u8_t *hidden_header_len_out, ip6_addr_t *lowpan6_contexts,
71 | const struct lowpan6_link_addr *src, const struct lowpan6_link_addr *dst);
72 | struct pbuf *lowpan6_decompress(struct pbuf *p, u16_t datagram_size, ip6_addr_t *lowpan6_contexts,
73 | struct lowpan6_link_addr *src, struct lowpan6_link_addr *dest);
74 | #endif /* LWIP_6LOWPAN_IPHC */
75 |
76 | #ifdef __cplusplus
77 | }
78 | #endif
79 |
80 | #endif /* LWIP_IPV6 */
81 |
82 | #endif /* LWIP_HDR_LOWPAN6_COMMON_H */
83 |
--------------------------------------------------------------------------------
/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 | #ifndef ECP_H
38 | #define ECP_H
39 |
40 | #ifdef __cplusplus
41 | extern "C" {
42 | #endif
43 |
44 | typedef struct ecp_options {
45 | bool required; /* Is ECP required? */
46 | unsigned enctype; /* Encryption type */
47 | } ecp_options;
48 |
49 | extern fsm ecp_fsm[];
50 | extern ecp_options ecp_wantoptions[];
51 | extern ecp_options ecp_gotoptions[];
52 | extern ecp_options ecp_allowoptions[];
53 | extern ecp_options ecp_hisoptions[];
54 |
55 | extern const struct protent ecp_protent;
56 |
57 | #ifdef __cplusplus
58 | }
59 | #endif
60 |
61 | #endif /* ECP_H */
62 | #endif /* PPP_SUPPORT && ECP_SUPPORT */
63 |
--------------------------------------------------------------------------------
/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/netif/zepif.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | *
4 | * A netif implementing the ZigBee Eencapsulation Protocol (ZEP).
5 | * This is used to tunnel 6LowPAN over UDP.
6 | */
7 |
8 | /*
9 | * Copyright (c) 2018 Simon Goldschmidt
10 | * All rights reserved.
11 | *
12 | * Redistribution and use in source and binary forms, with or without modification,
13 | * are permitted provided that the following conditions are met:
14 | *
15 | * 1. Redistributions of source code must retain the above copyright notice,
16 | * this list of conditions and the following disclaimer.
17 | * 2. Redistributions in binary form must reproduce the above copyright notice,
18 | * this list of conditions and the following disclaimer in the documentation
19 | * and/or other materials provided with the distribution.
20 | * 3. The name of the author may not be used to endorse or promote products
21 | * derived from this software without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
24 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
26 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
28 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
31 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
32 | * OF SUCH DAMAGE.
33 | *
34 | * This file is part of the lwIP TCP/IP stack.
35 | *
36 | * Author: Simon Goldschmidt
37 | *
38 | */
39 |
40 | #ifndef LWIP_HDR_ZEPIF_H
41 | #define LWIP_HDR_ZEPIF_H
42 |
43 | #include "lwip/opt.h"
44 | #include "netif/lowpan6.h"
45 |
46 | #if LWIP_IPV6 && LWIP_UDP /* don't build if not configured for use in lwipopts.h */
47 |
48 | #include "lwip/netif.h"
49 |
50 | #ifdef __cplusplus
51 | extern "C" {
52 | #endif
53 |
54 | #define ZEPIF_DEFAULT_UDP_PORT 17754
55 |
56 | /** Pass this struct as 'state' to netif_add to control the behaviour
57 | * of this netif. If NULL is passed, default behaviour is chosen */
58 | struct zepif_init {
59 | /** The UDP port used to ZEP frames from (0 = default) */
60 | u16_t zep_src_udp_port;
61 | /** The UDP port used to ZEP frames to (0 = default) */
62 | u16_t zep_dst_udp_port;
63 | /** The IP address to sed ZEP frames from (NULL = ANY) */
64 | const ip_addr_t *zep_src_ip_addr;
65 | /** The IP address to sed ZEP frames to (NULL = BROADCAST) */
66 | const ip_addr_t *zep_dst_ip_addr;
67 | /** If != NULL, the udp pcb is bound to this netif */
68 | const struct netif *zep_netif;
69 | /** MAC address of the 6LowPAN device */
70 | u8_t addr[6];
71 | };
72 |
73 | err_t zepif_init(struct netif *netif);
74 |
75 | #ifdef __cplusplus
76 | }
77 | #endif
78 |
79 | #endif /* LWIP_IPV6 && LWIP_UDP */
80 |
81 | #endif /* LWIP_HDR_ZEPIF_H */
82 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/Src/flash.c:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | flash.c - driver code for STM32F4xx ARM processors
4 |
5 | Part of grblHAL
6 |
7 | Copyright (c) 2019-2023 Terje Io
8 |
9 | This code reads/writes the whole RAM-based emulated EPROM contents from/to flash
10 |
11 | Grbl is free software: you can redistribute it and/or modify
12 | it under the terms of the GNU General Public License as published by
13 | the Free Software Foundation, either version 3 of the License, or
14 | (at your option) any later version.
15 |
16 | Grbl is distributed in the hope that it will be useful,
17 | but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | GNU General Public License for more details.
20 |
21 | You should have received a copy of the GNU General Public License
22 | along with Grbl. If not, see .
23 |
24 | */
25 |
26 | #include
27 |
28 | #include "driver.h"
29 | #include "grbl/hal.h"
30 |
31 | #if FLASH_ENABLE
32 |
33 | extern void *_EEPROM_Emul_Start;
34 | extern uint8_t _EEPROM_Emul_Sector;
35 |
36 | bool memcpy_from_flash (uint8_t *dest)
37 | {
38 | memcpy(dest, &_EEPROM_Emul_Start, hal.nvs.size);
39 |
40 | return true;
41 | }
42 |
43 | bool memcpy_to_flash (uint8_t *source)
44 | {
45 | if (!memcmp(source, &_EEPROM_Emul_Start, hal.nvs.size))
46 | return true;
47 |
48 | HAL_StatusTypeDef status;
49 |
50 | if((status = HAL_FLASH_Unlock()) == HAL_OK) {
51 |
52 | static FLASH_EraseInitTypeDef erase = {
53 | .Banks = FLASH_BANK_1,
54 | .Sector = (uint32_t)&_EEPROM_Emul_Sector,
55 | .TypeErase = FLASH_TYPEERASE_SECTORS,
56 | .NbSectors = 1,
57 | .VoltageRange = FLASH_VOLTAGE_RANGE_3
58 | };
59 |
60 | uint32_t error;
61 |
62 | // Retry erase once if it fails (ref issue #121)
63 | if((status = HAL_FLASHEx_Erase(&erase, &error)) != HAL_OK)
64 | status = HAL_FLASHEx_Erase(&erase, &error);
65 |
66 | uint16_t *data = (uint16_t *)source;
67 | uint32_t address = (uint32_t)&_EEPROM_Emul_Start, remaining = (uint32_t)hal.nvs.size;
68 |
69 | while(remaining && status == HAL_OK) {
70 | if((status = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, address, *data++)) == HAL_OK)
71 | status = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, address + 2, *data++);
72 | address += 4;
73 | remaining -= 4;
74 | }
75 |
76 | HAL_FLASH_Lock();
77 | }
78 |
79 | return status == HAL_OK;
80 | }
81 |
82 | #endif
83 |
--------------------------------------------------------------------------------
/Src/stm32f4xx_hal_msp.c:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * File Name : stm32f4xx_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 Ultimate Liberty license
14 | * SLA0044, the "License"; You may not use this file except in compliance with
15 | * the License. You may obtain a copy of the License at:
16 | * www.st.com/SLA0044
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 | __HAL_RCC_PWR_CLK_ENABLE();
72 |
73 | HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_2);
74 |
75 | /* System interrupt init*/
76 |
77 | /* USER CODE BEGIN MspInit 1 */
78 |
79 | /* USER CODE END MspInit 1 */
80 | }
81 |
82 | /* USER CODE BEGIN 1 */
83 |
84 | /* USER CODE END 1 */
85 |
86 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
87 |
--------------------------------------------------------------------------------
/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 | void *_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 (void *)-1;
52 | }
53 |
54 | heap_end += incr;
55 |
56 | return (void *)prev_heap_end;
57 | }
58 |
59 |
--------------------------------------------------------------------------------
/USB_DEVICE/App/usb_device.c:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * @file : usb_device.c
5 | * @version : v1.0_Cube
6 | * @brief : This file implements the USB Device
7 | ******************************************************************************
8 | * @attention
9 | *
10 | * Copyright (c) 2024 STMicroelectronics.
11 | * All rights reserved.
12 | *
13 | * This software is licensed under terms that can be found in the LICENSE file
14 | * in the root directory of this software component.
15 | * If no LICENSE file comes with this software, it is provided AS-IS.
16 | *
17 | ******************************************************************************
18 | */
19 | /* USER CODE END Header */
20 |
21 | /* Includes ------------------------------------------------------------------*/
22 |
23 | #include "usb_device.h"
24 | #include "usbd_core.h"
25 | #include "usbd_desc.h"
26 | #include "usbd_cdc.h"
27 | #include "usbd_cdc_if.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | /* USER CODE BEGIN PV */
34 | /* Private variables ---------------------------------------------------------*/
35 |
36 | /* USER CODE END PV */
37 |
38 | /* USER CODE BEGIN PFP */
39 | /* Private function prototypes -----------------------------------------------*/
40 |
41 | /* USER CODE END PFP */
42 |
43 | /* USB Device Core handle declaration. */
44 | USBD_HandleTypeDef hUsbDeviceFS;
45 |
46 | /*
47 | * -- Insert your variables declaration here --
48 | */
49 | /* USER CODE BEGIN 0 */
50 |
51 | /* USER CODE END 0 */
52 |
53 | /*
54 | * -- Insert your external function declaration here --
55 | */
56 | /* USER CODE BEGIN 1 */
57 |
58 | /* USER CODE END 1 */
59 |
60 | /**
61 | * Init USB device Library, add supported class and start the library
62 | * @retval None
63 | */
64 | void MX_USB_DEVICE_Init(void)
65 | {
66 | /* USER CODE BEGIN USB_DEVICE_Init_PreTreatment */
67 |
68 | /* USER CODE END USB_DEVICE_Init_PreTreatment */
69 |
70 | /* Init Device Library, add supported class and start the library. */
71 | if (USBD_Init(&hUsbDeviceFS, &FS_Desc, DEVICE_FS) != USBD_OK)
72 | {
73 | Error_Handler();
74 | }
75 | if (USBD_RegisterClass(&hUsbDeviceFS, &USBD_CDC) != USBD_OK)
76 | {
77 | Error_Handler();
78 | }
79 | if (USBD_CDC_RegisterInterface(&hUsbDeviceFS, &USBD_Interface_fops_FS) != USBD_OK)
80 | {
81 | Error_Handler();
82 | }
83 | if (USBD_Start(&hUsbDeviceFS) != USBD_OK)
84 | {
85 | Error_Handler();
86 | }
87 |
88 | /* USER CODE BEGIN USB_DEVICE_Init_PostTreatment */
89 |
90 | /* USER CODE END USB_DEVICE_Init_PostTreatment */
91 | }
92 |
93 | /**
94 | * @}
95 | */
96 |
97 | /**
98 | * @}
99 | */
100 |
101 |
--------------------------------------------------------------------------------
/USB_DEVICE/App/usb_device.h:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * @file : usb_device.h
5 | * @version : v1.0_Cube
6 | * @brief : Header for usb_device.c file.
7 | ******************************************************************************
8 | * @attention
9 | *
10 | * Copyright (c) 2024 STMicroelectronics.
11 | * All rights reserved.
12 | *
13 | * This software is licensed under terms that can be found in the LICENSE file
14 | * in the root directory of this software component.
15 | * If no LICENSE file comes with this software, it is provided AS-IS.
16 | *
17 | ******************************************************************************
18 | */
19 | /* USER CODE END Header */
20 |
21 | /* Define to prevent recursive inclusion -------------------------------------*/
22 | #ifndef __USB_DEVICE__H__
23 | #define __USB_DEVICE__H__
24 |
25 | #ifdef __cplusplus
26 | extern "C" {
27 | #endif
28 |
29 | /* Includes ------------------------------------------------------------------*/
30 | #include "stm32f4xx.h"
31 | #include "stm32f4xx_hal.h"
32 | #include "usbd_def.h"
33 |
34 | /* USER CODE BEGIN INCLUDE */
35 |
36 | /* USER CODE END INCLUDE */
37 |
38 | /** @addtogroup USBD_OTG_DRIVER
39 | * @{
40 | */
41 |
42 | /** @defgroup USBD_DEVICE USBD_DEVICE
43 | * @brief Device file for Usb otg low level driver.
44 | * @{
45 | */
46 |
47 | /** @defgroup USBD_DEVICE_Exported_Variables USBD_DEVICE_Exported_Variables
48 | * @brief Public variables.
49 | * @{
50 | */
51 |
52 | /* Private variables ---------------------------------------------------------*/
53 | /* USER CODE BEGIN PV */
54 |
55 | /* USER CODE END PV */
56 |
57 | /* Private function prototypes -----------------------------------------------*/
58 | /* USER CODE BEGIN PFP */
59 |
60 | /* USER CODE END PFP */
61 |
62 | /*
63 | * -- Insert your variables declaration here --
64 | */
65 | /* USER CODE BEGIN VARIABLES */
66 |
67 | /* USER CODE END VARIABLES */
68 | /**
69 | * @}
70 | */
71 |
72 | /** @defgroup USBD_DEVICE_Exported_FunctionsPrototype USBD_DEVICE_Exported_FunctionsPrototype
73 | * @brief Declaration of public functions for Usb device.
74 | * @{
75 | */
76 |
77 | /** USB Device initialization function. */
78 | void MX_USB_DEVICE_Init(void);
79 |
80 | /*
81 | * -- Insert functions declaration here --
82 | */
83 | /* USER CODE BEGIN FD */
84 |
85 | /* USER CODE END FD */
86 | /**
87 | * @}
88 | */
89 |
90 | /**
91 | * @}
92 | */
93 |
94 | /**
95 | * @}
96 | */
97 |
98 | #ifdef __cplusplus
99 | }
100 | #endif
101 |
102 | #endif /* __USB_DEVICE__H__ */
103 |
--------------------------------------------------------------------------------
/USB_DEVICE/App/usbd_cdc_if.h:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * @file : usbd_cdc_if.h
5 | * @version : v1.0_Cube
6 | * @brief : Header for usbd_cdc_if.c file.
7 | ******************************************************************************
8 | * @attention
9 | *
10 | * Copyright (c) 2024 STMicroelectronics.
11 | * All rights reserved.
12 | *
13 | * This software is licensed under terms that can be found in the LICENSE file
14 | * in the root directory of this software component.
15 | * If no LICENSE file comes with this software, it is provided AS-IS.
16 | *
17 | ******************************************************************************
18 | */
19 | /* USER CODE END Header */
20 |
21 | /* Define to prevent recursive inclusion -------------------------------------*/
22 | #ifndef __USBD_CDC_IF_H__
23 | #define __USBD_CDC_IF_H__
24 |
25 | #ifdef __cplusplus
26 | extern "C" {
27 | #endif
28 |
29 | /* Includes ------------------------------------------------------------------*/
30 | #include "usbd_cdc.h"
31 |
32 | /* USER CODE BEGIN INCLUDE */
33 |
34 | /* USER CODE END INCLUDE */
35 |
36 | /** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY
37 | * @brief For Usb device.
38 | * @{
39 | */
40 |
41 | /** @defgroup USBD_CDC_IF USBD_CDC_IF
42 | * @brief Usb VCP device module
43 | * @{
44 | */
45 |
46 | /** @defgroup USBD_CDC_IF_Exported_Defines USBD_CDC_IF_Exported_Defines
47 | * @brief Defines.
48 | * @{
49 | */
50 | /* Define size for the receive and transmit buffer over CDC */
51 | #define APP_RX_DATA_SIZE 2048
52 | #define APP_TX_DATA_SIZE 2048
53 | /* USER CODE BEGIN EXPORTED_DEFINES */
54 |
55 | /* USER CODE END EXPORTED_DEFINES */
56 |
57 | /**
58 | * @}
59 | */
60 |
61 | /** @defgroup USBD_CDC_IF_Exported_Types USBD_CDC_IF_Exported_Types
62 | * @brief Types.
63 | * @{
64 | */
65 |
66 | /* USER CODE BEGIN EXPORTED_TYPES */
67 |
68 | /* USER CODE END EXPORTED_TYPES */
69 |
70 | /**
71 | * @}
72 | */
73 |
74 | /** @defgroup USBD_CDC_IF_Exported_Macros USBD_CDC_IF_Exported_Macros
75 | * @brief Aliases.
76 | * @{
77 | */
78 |
79 | /* USER CODE BEGIN EXPORTED_MACRO */
80 |
81 | /* USER CODE END EXPORTED_MACRO */
82 |
83 | /**
84 | * @}
85 | */
86 |
87 | /** @defgroup USBD_CDC_IF_Exported_Variables USBD_CDC_IF_Exported_Variables
88 | * @brief Public variables.
89 | * @{
90 | */
91 |
92 | /** CDC Interface callback. */
93 | extern USBD_CDC_ItfTypeDef USBD_Interface_fops_FS;
94 |
95 | /* USER CODE BEGIN EXPORTED_VARIABLES */
96 |
97 | /* USER CODE END EXPORTED_VARIABLES */
98 |
99 | /**
100 | * @}
101 | */
102 |
103 | /** @defgroup USBD_CDC_IF_Exported_FunctionsPrototype USBD_CDC_IF_Exported_FunctionsPrototype
104 | * @brief Public functions declaration.
105 | * @{
106 | */
107 |
108 | uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len);
109 |
110 | /* USER CODE BEGIN EXPORTED_FUNCTIONS */
111 |
112 | /* USER CODE END EXPORTED_FUNCTIONS */
113 |
114 | /**
115 | * @}
116 | */
117 |
118 | /**
119 | * @}
120 | */
121 |
122 | /**
123 | * @}
124 | */
125 |
126 | #ifdef __cplusplus
127 | }
128 | #endif
129 |
130 | #endif /* __USBD_CDC_IF_H__ */
131 |
132 |
--------------------------------------------------------------------------------
/boards/flexi_hal.c:
--------------------------------------------------------------------------------
1 | /*
2 | flexi_hal.c - driver code for STM32F4xx ARM processors on Flexi-HAL board
3 |
4 | Part of grblHAL
5 |
6 | Copyright (c) 2022 Expatria Technologies
7 |
8 | Grbl is free software: you can redistribute it and/or modify
9 | it under the terms of the GNU General Public License as published by
10 | the Free Software Foundation, either version 3 of the License, or
11 | (at your option) any later version.
12 |
13 | Grbl is distributed in the hope that it will be useful,
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | GNU General Public License for more details.
17 |
18 | You should have received a copy of the GNU General Public License
19 | along with Grbl. If not, see .
20 | */
21 |
22 | #include "driver.h"
23 |
24 | #if defined(BOARD_FLEXI_HAL)
25 |
26 | #include "sdcard/sdcard.h"
27 |
28 | void board_init (void)
29 | {
30 |
31 | #if (FS_ENABLE & FS_SDCARD) && ETHERNET_ENABLE
32 | sdcard_early_mount();
33 | #endif
34 | }
35 |
36 | #endif
--------------------------------------------------------------------------------
/extra_script.py:
--------------------------------------------------------------------------------
1 | Import("env")
2 | # Custom HEX from ELF
3 | env.AddPostAction(
4 | "$BUILD_DIR/${PROGNAME}.elf",
5 | env.VerboseAction(" ".join([
6 | "$OBJCOPY", "-O", "ihex", "-R", ".eeprom",
7 | "$BUILD_DIR/${PROGNAME}.elf", "$BUILD_DIR/${PROGNAME}.hex"
8 | ]), "Building $BUILD_DIR/${PROGNAME}.hex")
9 | )
10 |
--------------------------------------------------------------------------------
/flexi_script.py:
--------------------------------------------------------------------------------
1 | Import("env")
2 |
3 | # Custom HEX from ELF
4 | env.AddPostAction(
5 | "$BUILD_DIR/${PROGNAME}.elf",
6 | env.VerboseAction(" ".join([
7 | "$OBJCOPY", "-O", "ihex", "-R", ".eeprom",
8 | '"$BUILD_DIR/${PROGNAME}.elf"', '"$BUILD_DIR/${PROGNAME}.hex"'
9 | ]), "Building $BUILD_DIR/${PROGNAME}.hex")
10 | )
11 |
12 | # Custom UF2 from BIN
13 | def after_build(source, target, env):
14 | print("Building $BUILD_DIR/${PROGNAME}.uf2")
15 | env.Execute("python uf2conv.py -c -b 0x08010000 -f 0x57755a57 $BUILD_DIR/firmware.bin --output $BUILD_DIR/${PROGNAME}.uf2")
16 |
17 | env.AddPostAction("buildprog", after_build)
--------------------------------------------------------------------------------
/media/STM32F4xx_config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/grblHAL/STM32F4xx/9085ad4dc8066f7ffd9b787c897aebfbd7029211/media/STM32F4xx_config.png
--------------------------------------------------------------------------------
/platformio.tpl:
--------------------------------------------------------------------------------
1 | #
2 | # Template for Web Builder, STM32F4xx
3 | #
4 |
5 | [platformio]
6 | include_dir = Inc
7 | src_dir = Src
8 |
9 | [common]
10 | build_flags =
11 | -I .
12 | -I boards
13 | -I FatFs
14 | -I FatFs/STM
15 | -I Drivers/FATFS/Target
16 | -I Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc
17 | -I Middlewares/ST/STM32_USB_Device_Library/Core/Inc
18 | -I USB_DEVICE/App
19 | -I USB_DEVICE/Target
20 | -D OVERRIDE_MY_MACHINE
21 | -D _USE_IOCTL=1
22 | -D _USE_WRITE=1
23 | -D _VOLUMES=1
24 | -Wl,-u,_printf_float
25 | -Wl,-u,_scanf_float
26 | lib_deps =
27 | boards
28 | bluetooth
29 | grbl
30 | keypad
31 | laser
32 | motors
33 | trinamic
34 | odometer
35 | openpnp
36 | fans
37 | plugins
38 | FatFs
39 | sdcard
40 | spindle
41 | embroidery
42 | Drivers/FATFS/App
43 | Drivers/FATFS/Target
44 | # USB serial support
45 | Middlewares/ST/STM32_USB_Device_Library/Core
46 | Middlewares/ST/STM32_USB_Device_Library/Class
47 | USB_DEVICE/App
48 | USB_DEVICE/Target
49 | lib_extra_dirs =
50 | .
51 | boards
52 | FatFs
53 | Middlewares/ST/STM32_USB_Device_Library
54 | USB_DEVICE
55 |
56 | [eth_networking]
57 | build_flags =
58 | -I LWIP/App
59 | -I LWIP/dp83848/Target
60 | -I Middlewares/Third_Party/LwIP/src/include
61 | -I Middlewares/Third_Party/LwIP/system
62 | -I Middlewares/Third_Party/LwIP/src/include/netif
63 | -I Middlewares/Third_Party/LwIP/src/include/lwip
64 | -I Drivers/BSP/Components/dp83848
65 | lib_deps =
66 | networking
67 | webui
68 | LWIP/App
69 | LWIP/dp83848/Target
70 | Middlewares/Third_Party/LwIP
71 | Drivers/BSP/Components/dp83848
72 | lib_extra_dirs =
73 |
74 | [wiznet_networking]
75 | build_flags =
76 | -I networking/wiznet
77 | -I Middlewares/Third_Party/LwIP/src/include
78 | -I Middlewares/Third_Party/LwIP/system
79 | -I Middlewares/Third_Party/LwIP/src/include/netif
80 | -I Middlewares/Third_Party/LwIP/src/include/lwip
81 | lib_deps =
82 | networking
83 | webui
84 | Middlewares/Third_Party/LwIP
85 | lib_extra_dirs =
86 |
87 | [env]
88 | platform = ststm32
89 | platform_packages = framework-stm32cubef4
90 | framework = stm32cube
91 | # Do not produce .a files for lib deps (which would prevent them from overriding weak symbols)
92 | lib_archive = no
93 | lib_ldf_mode = off
94 | extra_scripts = %extra_scripts%
95 |
96 | [env:%env_name%]
97 | board = %board%
98 | board_build.ldscript = %ldscript%
99 | build_flags = ${common.build_flags}
100 | %build_flags%
101 | lib_deps = ${common.lib_deps}
102 | eeprom
103 | %lib_deps%
104 | lib_extra_dirs = ${common.lib_extra_dirs}
105 |
--------------------------------------------------------------------------------