http://gimel.esc.cam.ac.uk/james/rpld/src/rpld-1.4.tar.gz
[rpld.git] / client.h
1 /*************************************************
2 *     rpld - an IBM style RIPL server            *
3 *************************************************/
4
5 /* Copyright (c) 1999,2000, James McKenzie.
6  *                      All rights reserved
7  * Copyright (c) 1998,2000, 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.8 2000/07/17 10:43:34 root Exp $
21  *
22  * $Log: client.h,v $
23  * Revision 1.8  2000/07/17 10:43:34  root
24  * #
25  *
26  * Revision 1.7  2000/07/16 14:05:28  root
27  * #
28  *
29  * Revision 1.6  2000/07/16 13:18:10  root
30  * #
31  *
32  * Revision 1.1  2000/07/16 13:16:33  root
33  * #
34  *
35  * Revision 1.5  1999/09/13 11:17:35  root
36  * \#
37  *
38  * Revision 1.4  1999/09/13 11:05:27  root
39  * \#
40  *
41  * Revision 1.3  1999/09/13 11:04:13  root
42  * \#
43  *  
44  */
45
46
47
48
49 #define ST_START        0
50 #define ST_FIND         1
51 #define ST_FOUND        2
52 #define ST_SENDFILE     3
53 #define ST_FILEDATA     4
54 #define ST_DONE         5
55
56 struct clfile
57 {
58   char *path;
59   unsigned char *data;
60
61   int offset;
62   int length;
63
64   u32 load_addr;
65
66   int sblock, eblock;
67   struct clfile *next;
68
69   FILE *f;
70 };
71
72 struct client
73 {
74   int state;
75
76   u8 mac[ETH_ALEN];
77   int partial_mac_len;
78   int framelen;
79   int blocknum;
80   int blocklen;
81
82   int pacing;
83   int nospew;
84
85   u32 run_addr;
86
87   struct clfile *files;
88   struct clfile *file;
89
90   struct client *next;
91 };