http://gimel.esc.cam.ac.uk/james/rpld/src/rpld-1.2.tar.gz
[rpld.git] / client.h
1 /*************************************************
2 *     rpld - an IBM style RIPL server            *
3 *************************************************/
4
5 /* Copyright (c) 1999, James McKenzie.
6  *                      All rights reserved
7  * Copyright (c) 1998, Christopher Lightfoot.
8  *                      All rights reserved
9  *
10  * By using this file, you agree to the terms and conditions set
11  * forth in the LICENCE file which can be found at the top level of
12  * the rpld distribution.
13  *
14  * IBM is a trademark of IBM corp.
15  *
16  */
17
18
19 /*
20  * $Id: client.h,v 1.6 2000/07/16 13:18:10 root Exp root $
21  *
22  * $Log: client.h,v $
23  * Revision 1.6  2000/07/16 13:18:10  root
24  * #
25  *
26  * Revision 1.1  2000/07/16 13:16:33  root
27  * #
28  *
29  * Revision 1.5  1999/09/13 11:17:35  root
30  * \#
31  *
32  * Revision 1.4  1999/09/13 11:05:27  root
33  * \#
34  *
35  * Revision 1.3  1999/09/13 11:04:13  root
36  * \#
37  *  
38  */
39
40
41
42
43 #define ST_START        0
44 #define ST_FIND         1
45 #define ST_FOUND        2
46 #define ST_SENDFILE     3
47 #define ST_FILEDATA     4
48 #define ST_DONE         5
49
50 struct clfile
51   {
52     char *path;
53     unsigned char *data;
54
55     int offset;
56     int length;
57
58     u32 load_addr;
59
60     int sblock, eblock;
61     struct clfile *next;
62
63     FILE *f;
64   };
65
66 struct client
67   {
68     int state;
69
70     u8 mac[ETH_ALEN];
71     int framelen;
72     int blocknum;
73     int blocklen;
74
75
76     u32 run_addr;
77
78     struct clfile *files;
79     struct clfile *file;
80
81     struct client *next;
82   };