|
|
1.1 root 1: /* netboot
2: *
3: * tftp.h,v
4: * Revision 1.1 1993/07/08 16:04:13 brezak
5: * Diskless boot prom code from Jim McKim ([email protected])
6: *
7: * Revision 1.2 1993/06/30 20:14:17 mckim
8: * Added BOOTP support.
9: *
10: * Revision 1.1.1.1 1993/05/28 11:41:08 mckim
11: * Initial version.
12: *
13: *
14: * source in this file came from
15: * the Mach ethernet boot written by Leendert van Doorn.
16: *
17: * Trivial File Transfer Protocol (see RFC 783)
18: */
19:
20: #define SEGSIZE 512 /* data segment size */
21:
22: /*
23: * Packet types
24: */
25: #define TFTP_RRQ 01 /* read request */
26: #define TFTP_WRQ 02 /* write request */
27: #define TFTP_DATA 03 /* data packet */
28: #define TFTP_ACK 04 /* acknowledgement */
29: #define TFTP_ERROR 05 /* error code */
30:
31: /*
32: * TFTP header structure
33: */
34: typedef struct {
35: u_short th_op; /* packet type */
36: union {
37: u_short tu_block; /* block # */
38: u_short tu_code; /* error code */
39: char tu_stuff[1]; /* request packet stuff */
40: } th_u;
41: } tftphdr_t;
42:
43: /* for ease of reference */
44: #define th_block th_u.tu_block
45: #define th_code th_u.tu_code
46: #define th_stuff th_u.tu_stuff
47: #define th_data th_stuff[2]
48: #define th_msg th_data
49:
50: void SetTftpParms(ipaddr_t server, ipaddr_t gateway, char *file_name);
51: u_long Read(void *result, u_long nbytes);
52: u_long PhysRead(u_long addr, u_long nbytes);
53: void IpSend(packet_t *pkt, ipaddr_t dst, ipaddr_t gateway);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.