0
0
mirror of https://github.com/rkd77/elinks.git synced 2025-06-30 22:19:29 -04:00
elinks/src/bfu/leds.h
Petr Baudis 0f6d4310ad Initial commit of the HEAD branch of the ELinks CVS repository, as of
Thu Sep 15 15:57:07 CEST 2005. The previous history can be added to this
by grafting.
2005-09-15 15:58:31 +02:00

55 lines
1.3 KiB
C

/* $Id: leds.h,v 1.23 2005/06/13 00:43:27 jonas Exp $ */
#ifndef EL__BFU_LEDS_H
#define EL__BFU_LEDS_H
#ifdef CONFIG_LEDS
#include "main/module.h"
#include "util/color.h"
struct session;
struct terminal;
/* TODO: Variable count! */
#define LEDS_COUNT 6
/* We use struct in order to at least somehow 'authorize' client to use certain
* LED, preventing possible mess i.e. with conflicting patches or Lua scripts.
*/
/* See header of bfu/leds.c for LEDs assignment. If you are planning to use
* some LED in your script/patch, please tell us on the list so that we can
* register the LED for you. Always check latest sources for actual LED
* assignment scheme in order to prevent conflicts. */
struct led {
/* Private data. */
/* 32 bits */
unsigned int used__:1;
unsigned int value_changed__:1;
unsigned int value__:8;
};
/* Per-session led panel structure. */
struct led_panel {
struct led leds[LEDS_COUNT];
};
extern struct module leds_module;
void init_led_panel(struct led_panel *leds);
void draw_leds(struct session *ses);
void menu_leds_info(struct terminal *term, void *xxx, void *xxxx);
struct led *register_led(struct session *ses, int number);
void unregister_led(struct led *);
void set_led_value(struct led *led, unsigned char value);
void unset_led_value(struct led *led);
#endif
#endif