#ifndef __LED_APP__
#define __LED_APP__

#define CONF_FILE		"/etc/led.conf"
#define LED_PROC_FILE	"/proc/led_mod/led"

#define CONFIG_LED_MODULE

#define MAX_MOD_ID       25
#define MAX_STATE_ID   	 25
#define MAX_LED_ID 	     25

/*------------------------------------------------------------------------------------------*\
 * AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM 
    1 = adsl  2 = pppoe     3 = lan       4 = wifi       5 = usb      6 = eth   7 = info  8 = power
    9 = AB   10 = isdn-b1  11=isdn-b2    12 = isdn-d    13 = pots    14 = sip
 * AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM AVM 
\*------------------------------------------------------------------------------------------*/
#define MOD_ADSL 1
#define DEF_ADSL_IDLE     1
#define DEF_ADSL_TRAINING 2
#define DEF_ADSL_SYNC     3
#define DEF_ADSL_ACTIVITY 4

#define MOD_WAN  2
#define DEF_WAN_IDLE      1
#define DEF_WAN_NEGOTIATE 2
#define DEF_WAN_SESSION   3

#define MOD_LAN  3
#define DEF_LAN_IDLE		  1
#define DEF_LAN_LINK_UP   2
#define DEF_LAN_ACTIVITY  3

#define MOD_WLAN 4
#define DEF_WLAN_IDLE     1
#define DEF_WLAN_LINK_UP  2
#define DEF_WLAN_ACTIVITY 3

#define MOD_USB  5
#define DEF_USB_IDLE		  1
#define DEF_USB_LINK_UP   2
#define DEF_USB_ACTIVITY  3

#define MOD_ETH  6
#define DEF_ETH_IDLE		  1
#define DEF_ETH_LINK_UP   2
#define DEF_ETH_ACTIVITY  3

#define MOD_INFO          7
#define DEF_INFO_OFF      1
#define DEF_INFO_ON       2
#define DEF_INFO_ERR      3  /*--- schnell blinken ---*/
#define DEF_INFO_UPDATE   4  /*--- langsam blinken ---*/

#define MOD_POWER         8
#define MOD_POWER_OFF     1
#define MOD_POWER_ON      2
#define MOD_POWER_WARN    3

#define MOD_AB            9
#define MOD_AB_ONHOOK     1  /*--- aufgelegt ---*/
#define MOD_AB_OFFHOOK    2  /*--- abgehoben ---*/

#define MOD_ISDN_B1      10
#define MOD_ISDN_B1_FREE   1
#define MOD_ISDN_B1_INUSE  2

#define MOD_ISDN_B2      11
#define MOD_ISDN_B2_FREE   1
#define MOD_ISDN_B2_INUSE  2

#define MOD_ISDN_D       12
#define MOD_ISDN_D_FREE   1
#define MOD_ISDN_D_INUSE  2

#define MOD_POTS         13
#define MOD_POTS_FREE     1
#define MOD_POTS_INUSE    2

#define MOD_SIP          14
#define MOD_SIP_FREE      1
#define MOD_SIP_INUSE     2

typedef struct config_elem{
  unsigned char name;
  unsigned char state;
  unsigned char mode;
  unsigned char led;
            int param;
}config_elem_t;

typedef struct led_reg{
	unsigned int param;
  void (*init)(unsigned long param);
  void (*onfunc)(unsigned long param);
  void (*offfunc)(unsigned long param);
}led_reg_t;

#endif
