1 jelson 1.1 /*
2 * EMLOG: the EMbedded-device LOGger
3 *
4 * Jeremy Elson
5 * USC/ISI
6 *
|
7 jelson 1.3 * $Id: emlog.h,v 1.2 2001/03/01 09:24:52 jelson Exp $
|
8 jelson 1.1 */
9
10 #define EMLOG_MAJOR_NUMBER 241
11 #define EMLOG_MAX_SIZE 128 /* max size in kilobytes of a buffer */
12
13
14 /************************ Private Definitions *****************************/
15
16 struct emlog_info {
17 unsigned long i_ino;
|
18 jelson 1.2
19
20 #if defined(DECLARE_WAIT_QUEUE_HEAD)
21 wait_queue_head_t read_q;
22 #else
|
23 jelson 1.3 struct wait_queue *read_q;
|
24 jelson 1.2 #endif
|
25 jelson 1.1
26 int refcount;
27 int read_point, write_point;
28 int size;
29 char *data;
30 struct emlog_info *next;
31 };
32
33 #define EMLOG_EMPTY(einfo) (((einfo)->read_point) == ((einfo)->write_point))
34 #define EMLOG_SIZE(einfo) ( (einfo)->write_point >= (einfo)->read_point ? \
35 (einfo)->write_point - (einfo)->read_point : \
36 (einfo)->size - (einfo)->read_point + (einfo)->write_point)
37
38 #define EMLOG_REFCOUNT(einfo) ((einfo)->refcount)
|
39 jelson 1.2 #define EMLOG_READQ(einfo) (&((einfo)->read_q))
|
40 jelson 1.1
|