Added support for DE200C VFD
[lcdproc-de200c.git] / server / drivers / de200c-vfd / server / vfdserver.h
blobbf3af27ce78b9346ea91c197567ccadfaf3d27d7
1 #ifndef VFDSERVER_H
2 #define VFDSERVER_H
3 // ****************************************************************************
4 // vfdserver.h (C) 1992-2003 Christophe de Dinechin (ddd)
5 // VFD800 project
6 // ****************************************************************************
7 //
8 // File Description:
9 //
10 // Data structures used by the VFD server
11 //
12 //
13 //
14 //
15 //
16 //
17 //
18 //
19 // ****************************************************************************
20 // This document is confidential.
21 // Do not redistribute without written permission
22 // ****************************************************************************
23 // * File : $RCSFile$
24 // * Revision : $Revision$
25 // * Date : $Date$
26 // ****************************************************************************
28 typedef unsigned char byte;
30 #define VFD_COLS 160
31 #define VFD_LINES 4
32 #define VFD_SIZE (VFD_COLS * VFD_LINES)
33 #define VFD_PLINES (VFD_LINES * 8)
36 typedef struct vfdclient *vfdclient_p;
37 typedef struct vfdclient
38 // ----------------------------------------------------------------------------
39 // Information about a client of this server
40 // ----------------------------------------------------------------------------
42 vfdclient_p next;
44 // Display contents
45 byte valid[VFD_SIZE]; // The committed bytes to display
46 byte display[VFD_SIZE]; // The bytes to display
47 byte shape[VFD_SIZE]; // The client requested shape
48 byte mask[VFD_SIZE]; // Compositing mask
49 byte * base; // Where we are writing
50 volatile int reader_index; // Updated by display refresh
51 volatile int writer_index; // Updated by content task
52 char * glyphs[256]; // Glyphs for that client
53 int priority; // High priority in foreground
55 // Command processing
56 int socket;
57 char command[256];
58 char * head;
59 char * tail;
60 char name[32];
61 } vfdclient_t;
63 #endif /* VFDSERVER_H */