Fork of Smoothie to port to mbed non-LPC targets.
Fork of Smoothie by
libs/Network/uip/Network.h@2:1df0b61d3b5a, 2014-02-28 (annotated)
- Committer:
- Michael J. Spencer
- Date:
- Fri Feb 28 18:52:52 2014 -0800
- Revision:
- 2:1df0b61d3b5a
Update to latest Smoothie.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Michael J. Spencer |
2:1df0b61d3b5a | 1 | #ifndef _NETWORK_H |
Michael J. Spencer |
2:1df0b61d3b5a | 2 | #define _NETWORK_H |
Michael J. Spencer |
2:1df0b61d3b5a | 3 | |
Michael J. Spencer |
2:1df0b61d3b5a | 4 | #include "timer.h" |
Michael J. Spencer |
2:1df0b61d3b5a | 5 | #include "LPC17XX_Ethernet.h" |
Michael J. Spencer |
2:1df0b61d3b5a | 6 | #include "Module.h" |
Michael J. Spencer |
2:1df0b61d3b5a | 7 | #include "NetworkPublicAccess.h" |
Michael J. Spencer |
2:1df0b61d3b5a | 8 | |
Michael J. Spencer |
2:1df0b61d3b5a | 9 | #define network_enable_checksum CHECKSUM("enable") |
Michael J. Spencer |
2:1df0b61d3b5a | 10 | #define network_webserver_checksum CHECKSUM("webserver") |
Michael J. Spencer |
2:1df0b61d3b5a | 11 | #define network_telnet_checksum CHECKSUM("telnet") |
Michael J. Spencer |
2:1df0b61d3b5a | 12 | #define network_mac_override_checksum CHECKSUM("mac_override") |
Michael J. Spencer |
2:1df0b61d3b5a | 13 | #define network_ip_address_checksum CHECKSUM("ip_address") |
Michael J. Spencer |
2:1df0b61d3b5a | 14 | #define network_ip_gateway_checksum CHECKSUM("ip_gateway") |
Michael J. Spencer |
2:1df0b61d3b5a | 15 | #define network_ip_mask_checksum CHECKSUM("ip_mask") |
Michael J. Spencer |
2:1df0b61d3b5a | 16 | |
Michael J. Spencer |
2:1df0b61d3b5a | 17 | class Network : public Module |
Michael J. Spencer |
2:1df0b61d3b5a | 18 | { |
Michael J. Spencer |
2:1df0b61d3b5a | 19 | public: |
Michael J. Spencer |
2:1df0b61d3b5a | 20 | Network(); |
Michael J. Spencer |
2:1df0b61d3b5a | 21 | virtual ~Network(); |
Michael J. Spencer |
2:1df0b61d3b5a | 22 | |
Michael J. Spencer |
2:1df0b61d3b5a | 23 | void on_module_loaded(); |
Michael J. Spencer |
2:1df0b61d3b5a | 24 | void on_idle(void* argument); |
Michael J. Spencer |
2:1df0b61d3b5a | 25 | void on_main_loop(void* argument); |
Michael J. Spencer |
2:1df0b61d3b5a | 26 | void on_get_public_data(void* argument); |
Michael J. Spencer |
2:1df0b61d3b5a | 27 | void dhcpc_configured(uint32_t ipaddr, uint32_t ipmask, uint32_t ipgw); |
Michael J. Spencer |
2:1df0b61d3b5a | 28 | static Network *getInstance() { return instance;} |
Michael J. Spencer |
2:1df0b61d3b5a | 29 | void tapdev_send(void *pPacket, unsigned int size); |
Michael J. Spencer |
2:1df0b61d3b5a | 30 | |
Michael J. Spencer |
2:1df0b61d3b5a | 31 | private: |
Michael J. Spencer |
2:1df0b61d3b5a | 32 | void init(); |
Michael J. Spencer |
2:1df0b61d3b5a | 33 | uint32_t tick(uint32_t dummy); |
Michael J. Spencer |
2:1df0b61d3b5a | 34 | void handlePacket(); |
Michael J. Spencer |
2:1df0b61d3b5a | 35 | |
Michael J. Spencer |
2:1df0b61d3b5a | 36 | static Network *instance; |
Michael J. Spencer |
2:1df0b61d3b5a | 37 | |
Michael J. Spencer |
2:1df0b61d3b5a | 38 | LPC17XX_Ethernet *ethernet; |
Michael J. Spencer |
2:1df0b61d3b5a | 39 | |
Michael J. Spencer |
2:1df0b61d3b5a | 40 | struct timer periodic_timer, arp_timer; |
Michael J. Spencer |
2:1df0b61d3b5a | 41 | uint8_t mac_address[6]; |
Michael J. Spencer |
2:1df0b61d3b5a | 42 | uint8_t ipaddr[4]; |
Michael J. Spencer |
2:1df0b61d3b5a | 43 | uint8_t ipmask[4]; |
Michael J. Spencer |
2:1df0b61d3b5a | 44 | uint8_t ipgw[4]; |
Michael J. Spencer |
2:1df0b61d3b5a | 45 | volatile uint32_t tickcnt; |
Michael J. Spencer |
2:1df0b61d3b5a | 46 | |
Michael J. Spencer |
2:1df0b61d3b5a | 47 | }; |
Michael J. Spencer |
2:1df0b61d3b5a | 48 | |
Michael J. Spencer |
2:1df0b61d3b5a | 49 | #endif |