1. Use <stdbool.h> if it is available but keep a compatibility shim in
shared/defines.h in case it is not.
2. Unbreak the circular header dependencies (mostly):
2a. client.c and client.h may NOT depend on 'struct Menu'. Use a void pointer
and casts instead.
2b. Separate the data type definitions in client.h and screen.h from
function prototypes which may require other data structures. This makes
header dependencies much more easy to maintain. Usually the data types
should have been moved to their own files but I (mmdolze) chose to
separate them using different header guards.
2c. Remove many now unused header includes.
Apply (old BSD-) style on menuscreens.c.
97 lines
1.5 KiB
C
97 lines
1.5 KiB
C
/** \file server/drivers.h
|
|
*/
|
|
|
|
/* This file is part of LCDd, the lcdproc server.
|
|
*
|
|
* This file is released under the GNU General Public License.
|
|
* Refer to the COPYING file distributed with this package.
|
|
*
|
|
* Copyright (c) 2001, Joris Robijn
|
|
*/
|
|
|
|
#ifndef DRIVERS_H
|
|
#define DRIVERS_H
|
|
|
|
#include "drivers/lcd.h"
|
|
#include "shared/LL.h"
|
|
|
|
typedef struct DisplayProps {
|
|
int width, height;
|
|
int cellwidth, cellheight;
|
|
} DisplayProps;
|
|
|
|
extern DisplayProps *display_props;
|
|
|
|
int
|
|
drivers_load_driver(const char *name);
|
|
|
|
int
|
|
drivers_unload_all(void);
|
|
|
|
const char *
|
|
drivers_get_info(void);
|
|
|
|
void
|
|
drivers_clear(void);
|
|
|
|
void
|
|
drivers_flush(void);
|
|
|
|
void
|
|
drivers_string(int x, int y, const char *string);
|
|
|
|
void
|
|
drivers_chr(int x, int y, char c);
|
|
|
|
void
|
|
drivers_vbar(int x, int y, int len, int promille, int pattern);
|
|
|
|
void
|
|
drivers_hbar(int x, int y, int len, int promille, int pattern);
|
|
|
|
void
|
|
drivers_num(int x, int num);
|
|
|
|
void
|
|
drivers_heartbeat(int state);
|
|
|
|
void
|
|
drivers_icon(int x, int y, int icon);
|
|
|
|
void
|
|
drivers_set_char(char ch, char *dat);
|
|
|
|
int
|
|
drivers_get_contrast(void);
|
|
|
|
void
|
|
drivers_set_contrast(int contrast);
|
|
|
|
void
|
|
drivers_cursor(int x, int y, int state);
|
|
|
|
void
|
|
drivers_backlight(int brightness);
|
|
|
|
void
|
|
drivers_output(int state);
|
|
|
|
const char *
|
|
drivers_get_key(void);
|
|
|
|
|
|
/* Please don't read this list except using the following functions */
|
|
extern LinkedList *loaded_drivers;
|
|
|
|
static inline Driver *drivers_getfirst(void)
|
|
{
|
|
return LL_GetFirst(loaded_drivers);
|
|
}
|
|
|
|
static inline Driver *drivers_getnext(void)
|
|
{
|
|
return LL_GetNext(loaded_drivers);
|
|
}
|
|
|
|
#endif
|