📄 typedefs.lst
字号:
C51 COMPILER V8.08 TYPEDEFS 11/04/2008 16:05:34 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE TYPEDEFS
OBJECT MODULE PLACED IN typedefs.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.exe typedefs.h DB OE
line level source
1 //-----------------------------------------------------------------------------
2 // typedefs.h
3 //-----------------------------------------------------------------------------
4 // Copyright 2006 Silicon Laboratories, Inc.
5 // http://www.silabs.com
6 //
7 // Program Description:
8 //
9 // Contains global type definitions
10 //
11 // FID:
12 // Target: Multiple
13 // Tool chain: Keil C51 7.20 / Keil EVAL C51
14 // Silicon Laboratories IDE version 2.72
15 // Command Line: See Readme.txt
16 // Project Name: CP220x_Ethernet_Routines
17 //
18 //
19 //
20 // Release 1.1
21 // - Configures C8051F120 SYSCLK to 98 MHz
22 //
23 // Release 1.0
24 // -Initial Release (FB)
25 // -30 MAY 2006
26 //
27 //-----------------------------------------------------------------------------
28 // NET.H
29 //
30 //-----------------------------------------------------------------------------
31
32
33 typedef unsigned char UCHAR;
34 typedef unsigned int UINT;
35 typedef unsigned long ULONG;
36 typedef unsigned long LONG;
37 void eth_send(UCHAR xdata * outbuf, UCHAR * hwaddr, UINT ptype, UINT len);
38 // Constants
39 #define TRUE 1
40 #define ON 1
41 #define OK 1
42 #define FALSE 0
43 #define OFF 0
44 #define MATCH 0
45 #define RET 0x0D
46 #define LF 0x0A
47 #define SPACE 0x20
48
49 // Port numbers
50 #define ECHO_PORT 7
51 #define DAYTIME_PORT 13
52 #define CHARGEN_PORT 19
53 #define TIME_PORT 37
54 #define HTTP_PORT 80
55
C51 COMPILER V8.08 TYPEDEFS 11/04/2008 16:05:34 PAGE 2
56
57 // Event word bits
58 #define EVENT_ETH_ARRIVED 0x0001
59 #define EVENT_AGE_ARP_CACHE 0x0002
60 #define EVENT_TCP_RETRANSMIT 0x0004
61 #define EVENT_TCP_INACTIVITY 0x0008
62 #define EVENT_ARP_RETRANSMIT 0x0010
63 #define EVENT_READ_ANALOG 0x0020
64 #define EVENT_RS232_ARRIVED 0x0040
65
66
67 // Type number field in Ethernet frame
68 #define IP_PACKET 0x0800
69 #define ARP_PACKET 0x0806
70 #define RARP_PACKET 0x8035
71
72 // Protocol identifier field in IP datagram
73 #define ICMP_TYPE 1
74 #define IGMP_TYPE 2
75 #define TCP_TYPE 6
76 #define UDP_TYPE 17
77
78 // Message type field in ARP messages
79 #define ARP_REQUEST 1
80 #define ARP_RESPONSE 2
81 #define RARP_REQUEST 3
82 #define RARP_RESPONSE 4
83
84 // Hardware type field in ARP message
85 #define DIX_ETHERNET 1
86 #define IEEE_ETHERNET 6
87
88
89
90 typedef struct
91 {
92 ULONG ipaddr;
93 UCHAR hwaddr[6];
94 UCHAR timer;
95 } ARP_CACHE;
96
97
98 typedef struct
99 {
100 UCHAR xdata * buf;
101 ULONG ipaddr;
102 UCHAR proto_id;
103 UINT len;
104 UCHAR timer;
105 } WAIT;
106
107
108 typedef struct
109 {
110 UINT hardware_type;
111 UINT protocol_type;
112 UCHAR hwaddr_len;
113 UCHAR ipaddr_len;
114 UINT message_type;
115 UCHAR source_hwaddr[6];
116 ULONG source_ipaddr;
117 UCHAR dest_hwaddr[6];
C51 COMPILER V8.08 TYPEDEFS 11/04/2008 16:05:34 PAGE 3
118 ULONG dest_ipaddr;
119 } ARP_HEADER;
120
121
122 typedef struct
123 {
124 UCHAR dest_hwaddr[6];
125 UCHAR source_hwaddr[6];
126 UINT frame_type;
127 } ETH_HEADER;
128
129
130 typedef struct
131 {
132 UCHAR ver_len;
133 UCHAR type_of_service;
134 UINT total_length;
135 UINT identifier;
136 UINT fragment_info;
137 UCHAR time_to_live;
138 UCHAR protocol_id;
139 UINT header_cksum;
140 ULONG source_ipaddr;
141 ULONG dest_ipaddr;
142 } IP_HEADER;
143
144
145 typedef struct
146 {
147 UCHAR msg_type;
148 UCHAR msg_code;
149 UINT checksum;
150 UINT identifier;
151 UINT sequence;
152 UCHAR echo_data;
153 } PING_HEADER;
154
155
156 typedef struct
157 {
158 UCHAR msg_type;
159 UCHAR msg_code;
160 UINT checksum;
161 ULONG msg_data;
162 UCHAR echo_data;
163 } ICMP_ERR_HEADER;
164
165
166 typedef struct
167 {
168 UINT source_port;
169 UINT dest_port;
170 UINT length;
171 UINT checksum;
172 UCHAR msg_data;
173 } UDP_HEADER;
174
175
176 typedef struct
177 {
178 UINT source_port;
179 UINT dest_port;
C51 COMPILER V8.08 TYPEDEFS 11/04/2008 16:05:34 PAGE 4
180 ULONG sequence;
181 ULONG ack_number;
182 UINT flags;
183 UINT window;
184 UINT checksum;
185 UINT urgent_ptr;
186 UCHAR options;
187 } TCP_HEADER;
188
189
190 typedef struct
191 {
192 ULONG ipaddr;
193 UINT port;
194 ULONG his_sequence;
195 ULONG my_sequence;
196 ULONG old_sequence;
197 ULONG his_ack;
198 UCHAR timer;
199 UCHAR inactivity;
200 UCHAR state;
201 char query[20];
202 } CONNECTION;
203 //-----------------------------------------------------------------------------
204 // Global Type Definitions
205 //-----------------------------------------------------------------------------
206
207 #ifndef MACADDRESS
208 typedef union MACADDRESS {
209 unsigned int Int[3];
210 unsigned char Char[6];
211 } MACADDRESS;
212 #endif
213
214 #ifndef ULONG_struct
215 typedef union ULONG_struct {
216 unsigned long Long;
217 unsigned int Int[2];
218 unsigned char Char[4];
219 } ULONG_struct;
220 #endif
221
222 #ifndef LONG_struct
223 typedef union LONG_struct {
224 long Long;
225 unsigned int Int[2];
226 unsigned char Char[4];
227 } LONG_struct;
228 #endif
229
230 #ifndef UINT_struct
231 typedef union UINT_struct {
232 unsigned int Int;
233 unsigned char Char[2];
234 } UINT_struct;
235 #endif
236
237 typedef union IPADDRESS { // The 32-bit IP address
238 unsigned long Long;
239 unsigned int Int[2];
240 unsigned char Char[4];
241 } IPADDRESS;
C51 COMPILER V8.08 TYPEDEFS 11/04/2008 16:05:34 PAGE 5
242
243
244 //-----------------------------------------------------------------------------
245 // End Of File
246 //-----------------------------------------------------------------------------
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = ---- ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -