/****************************************************************************** * FILE PURPOSE: - LED manager Header ****************************************************************************** * FILE NAME: led_manager.h * * DESCRIPTION: Header file for LED manager * * (C) Copyright 2006, Texas Instruments, Inc ******************************************************************************/ #ifndef __LED_MANAGER__ #define __LED_MANAGER__ #include struct led_manager_user_module { unsigned char *name; unsigned int instance; unsigned int handle; }; struct led_manager_user_action { unsigned int handle; unsigned int state_id; }; #define LED_MANAGER_MAGIC 0xD1 #define LED_MANAGER_CONFIG _IOW(LED_MANAGER_MAGIC, 1, MOD_CFG_T) #define LED_MANAGER_REGISTER _IOWR(LED_MANAGER_MAGIC, 2, struct led_manager_user_module) #define LED_MANAGER_UNREGISTER _IOW(LED_MANAGER_MAGIC, 3, void *) #define LED_MANAGER_ACTION _IOW(LED_MANAGER_MAGIC, 4, struct led_manager_user_action) typedef struct led_manager_user_module LED_MODULE_T; typedef struct led_manager_user_action LED_STATE_T; #define LED_CONFIG LED_MANAGER_CONFIG #define LED_GET_HANDLE LED_MANAGER_REGISTER #define LED_ACTION LED_MANAGER_ACTION #define LED_RELEASE_HANDLE LED_MANAGER_UNREGISTER #define avalanche_led_register led_manager_register_module #define avalanche_led_action led_manager_led_action #define avalanche_led_unregister led_manager_unregister_module MOD_OBJ_HND *led_manager_register_module(char *module_name, int instance ); void led_manager_unregister_module( void *module_handle ); LED_OBJ_HND * led_manager_install_callbacks(LED_FUNCS_T * funcs); int led_manager_led_action( void *module_handle, int state_id ); int led_manager_uninstall_callbacks( void *module_handle); int led_manager_cfg_mod( MOD_CFG_T *mod_cfg); #endif