This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/Borland/BCC55/Include/protocol.h

44 lines
921 B
C

#ifndef __brloader_protocol_h
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
#define __brloader_protocol_h
typedef BYTE ETHERNET_ADDRESS [6];
typedef struct ETHERNET_FRAME {
ETHERNET_ADDRESS Destination;
ETHERNET_ADDRESS Source;
WORD FrameType; // in host-order
} ETHERNET_FRAME;
#define ETHERNET_FRAME_TYPE_IP 0x0800
typedef struct IP_HEADER {
BYTE x;
BYTE tos;
WORD length;
WORD identifier;
WORD fragment;
BYTE ttl;
BYTE protocol;
WORD cksum;
DWORD src;
DWORD dest;
} IP_HEADER;
typedef IP_HEADER * LPIPHEADER;
#define IP_MF 0x2000
#define IP_FRAGMENT_OFFSET_MASK 0x1FFF
#define IP_HEADER_MINIMUM_LEN 20
typedef struct UDP_HEADER {
WORD src_port;
WORD dest_port;
WORD length; // including this header
WORD checksum;
} UDP_HEADER;
#define UDP_HEADER_LEN 8
#pragma option pop /*P_O_Pop*/
#endif // __brloader__protocol_h