diff --git a/src/arch/FILES b/src/arch/FILES index 138c88f6..c6eeda89 100644 --- a/src/arch/FILES +++ b/src/arch/FILES @@ -9,6 +9,8 @@ v2pro/ - Architectural files for the Xilinx Virtex-II PRO device with embedded PowerPC 405 Processor. Supports lwIP Raw API only. (requires V2PDK - http://www.xilinx.com/ise/vii_pro/kit.htm) +msvc6/ - Architectural files for Microsoft Visual C++ 6.0 + Each subdirectory (may) also include: perf.c - Optional file that should be implemented when running diff --git a/src/include/ipv4/lwip/icmp.h b/src/include/ipv4/lwip/icmp.h index b096b3cb..bb7ac7c2 100644 --- a/src/include/ipv4/lwip/icmp.h +++ b/src/include/ipv4/lwip/icmp.h @@ -70,6 +70,7 @@ void icmp_input(struct pbuf *p, struct netif *inp); void icmp_dest_unreach(struct pbuf *p, enum icmp_dur_type t); void icmp_time_exceeded(struct pbuf *p, enum icmp_te_type t); +#include "arch/bpstruct.h" PACK_STRUCT_BEGIN struct icmp_echo_hdr { PACK_STRUCT_FIELD(u16_t _type_code); @@ -78,7 +79,9 @@ struct icmp_echo_hdr { PACK_STRUCT_FIELD(u16_t seqno); } PACK_STRUCT_STRUCT; PACK_STRUCT_END +#include "arch/epstruct.h" +#include "arch/bpstruct.h" PACK_STRUCT_BEGIN struct icmp_dur_hdr { PACK_STRUCT_FIELD(u16_t _type_code); @@ -86,7 +89,9 @@ struct icmp_dur_hdr { PACK_STRUCT_FIELD(u32_t unused); } PACK_STRUCT_STRUCT; PACK_STRUCT_END +#include "arch/epstruct.h" +#include "arch/bpstruct.h" PACK_STRUCT_BEGIN struct icmp_te_hdr { PACK_STRUCT_FIELD(u16_t _type_code); @@ -94,6 +99,7 @@ struct icmp_te_hdr { PACK_STRUCT_FIELD(u32_t unused); } PACK_STRUCT_STRUCT; PACK_STRUCT_END +#include "arch/epstruct.h" #define ICMPH_TYPE(hdr) (NTOHS((hdr)->_type_code) >> 8) #define ICMPH_CODE(hdr) (NTOHS((hdr)->_type_code) & 0xff) diff --git a/src/include/ipv4/lwip/ip.h b/src/include/ipv4/lwip/ip.h index e8257c90..1337231d 100644 --- a/src/include/ipv4/lwip/ip.h +++ b/src/include/ipv4/lwip/ip.h @@ -66,6 +66,7 @@ err_t ip_output_if(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, #endif /* IP_HDRINCL */ #define IP_HDRINCL NULL +#include "arch/bpstruct.h" PACK_STRUCT_BEGIN struct ip_hdr { /* version / header length / type of service */ @@ -89,6 +90,7 @@ struct ip_hdr { PACK_STRUCT_FIELD(struct ip_addr dest); } PACK_STRUCT_STRUCT; PACK_STRUCT_END +#include "arch/epstruct.h" #define IPH_V(hdr) (NTOHS((hdr)->_v_hl_tos) >> 12) #define IPH_HL(hdr) ((NTOHS((hdr)->_v_hl_tos) >> 8) & 0x0f) diff --git a/src/include/ipv4/lwip/ip_addr.h b/src/include/ipv4/lwip/ip_addr.h index cca1cda2..0c414d6c 100644 --- a/src/include/ipv4/lwip/ip_addr.h +++ b/src/include/ipv4/lwip/ip_addr.h @@ -38,11 +38,13 @@ #define IP_ADDR_BROADCAST (&ip_addr_broadcast) +#include "arch/bpstruct.h" PACK_STRUCT_BEGIN struct ip_addr { PACK_STRUCT_FIELD(u32_t addr); } PACK_STRUCT_STRUCT; PACK_STRUCT_END +#include "arch/epstruct.h" extern struct ip_addr ip_addr_broadcast; diff --git a/src/include/lwip/tcp.h b/src/include/lwip/tcp.h index 3c5fbab7..c7a5ab82 100644 --- a/src/include/lwip/tcp.h +++ b/src/include/lwip/tcp.h @@ -151,6 +151,7 @@ void tcp_rexmit (struct tcp_pcb *pcb); #define TCP_MSL 60000 /* The maximum segment lifetime in microseconds */ +#include "arch/bpstruct.h" PACK_STRUCT_BEGIN struct tcp_hdr { PACK_STRUCT_FIELD(u16_t src); @@ -163,6 +164,7 @@ struct tcp_hdr { PACK_STRUCT_FIELD(u16_t urgp); } PACK_STRUCT_STRUCT; PACK_STRUCT_END +#include "arch/epstruct.h" #define TCPH_OFFSET(hdr) (NTOHS((hdr)->_offset_flags) >> 8) #define TCPH_FLAGS(hdr) (NTOHS((hdr)->_offset_flags) & 0xff) diff --git a/src/include/netif/etharp.h b/src/include/netif/etharp.h index 46c04633..f6b14765 100644 --- a/src/include/netif/etharp.h +++ b/src/include/netif/etharp.h @@ -44,12 +44,15 @@ #include "lwip/ip_addr.h" #include "lwip/netif.h" +#include "arch/bpstruct.h" PACK_STRUCT_BEGIN struct eth_addr { PACK_STRUCT_FIELD(u8_t addr[6]); } PACK_STRUCT_STRUCT; PACK_STRUCT_END +#include "arch/epstruct.h" +#include "arch/bpstruct.h" PACK_STRUCT_BEGIN struct eth_hdr { PACK_STRUCT_FIELD(struct eth_addr dest); @@ -57,6 +60,7 @@ struct eth_hdr { PACK_STRUCT_FIELD(u16_t type); } PACK_STRUCT_STRUCT; PACK_STRUCT_END +#include "arch/epstruct.h" #define ARP_TMR_INTERVAL 10000 diff --git a/src/netif/etharp.c b/src/netif/etharp.c index 937dcc7b..c2caed4b 100644 --- a/src/netif/etharp.c +++ b/src/netif/etharp.c @@ -3,6 +3,11 @@ * Address Resolution Protocol module for IP over Ethernet * * $Log: etharp.c,v $ + * Revision 1.4 2002/11/08 12:54:43 proff_fs + * Added includeds for bpstruct and epstruct. + * Ports should update from using PACK_STRUCT_BEGIN and PACK_STRUCT_END to use these includes. + * Maybe there should be an PACK_STRUCT_USE_INCLUDES ifdef around these, for ports for which PACK_STRUCT_BEGIN and PACK_STRUCT_END works nicely. + * * Revision 1.3 2002/11/06 11:43:21 likewise * find_arp_entry() returned 0 instead of ARP_TABLE_SIZE if full pending cache (bug #1625). * @@ -64,6 +69,7 @@ #define ARP_REPLY 2 /* MUST be compiled with "pack structs" or equivalent! */ +#include "arch/bpstruct.h" PACK_STRUCT_BEGIN struct etharp_hdr { PACK_STRUCT_FIELD(struct eth_hdr ethhdr); @@ -77,6 +83,7 @@ struct etharp_hdr { PACK_STRUCT_FIELD(struct ip_addr dipaddr); } PACK_STRUCT_STRUCT; PACK_STRUCT_END +#include "arch/epstruct.h" #define ARPH_HWLEN(hdr) (NTOHS((hdr)->_hwlen_protolen) >> 8) #define ARPH_PROTOLEN(hdr) (NTOHS((hdr)->_hwlen_protolen) & 0xff) @@ -85,12 +92,14 @@ PACK_STRUCT_END #define ARPH_HWLEN_SET(hdr, len) (hdr)->_hwlen_protolen = HTONS(ARPH_PROTOLEN(hdr) | ((len) << 8)) #define ARPH_PROTOLEN_SET(hdr, len) (hdr)->_hwlen_protolen = HTONS((len) | (ARPH_HWLEN(hdr) << 8)) +#include "arch/bpstruct.h" PACK_STRUCT_BEGIN struct ethip_hdr { PACK_STRUCT_FIELD(struct eth_hdr eth); PACK_STRUCT_FIELD(struct ip_hdr ip); }; PACK_STRUCT_END +#include "arch/epstruct.h" enum etharp_state { ETHARP_STATE_EMPTY,