⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uialarm.h

📁 嵌入工linux开发的源码
💻 H
字号:
#ifndef _HW_ALARM_H
#define _HW_ALARM_H

#include <pr2k.h>
#include <typedefine.h>
#include <sys/syscall.h>

#define PID_SIZE          52
#define MSG_SIZE         100

//typedef void (*hw_alarmHandler)(AlarmNode *pAlarm);
typedef void (* PF_DisplayAlarm)(HNDL handle, char *pMessage);

struct _AlarmNode
{
	sysTime time;                   //闹铃时间
	unsigned short nPriority;       //设定闹铃的优先等级,数值愈大,优先权愈高,预设为100
	unsigned short nPeriod;         //以天为单位,0表示没有周期,其他正整数值表示为周期大小
	unsigned short ProgID;          //执行特定型态的AP
	char pAlarmID[PID_SIZE];        //Alarm ID必须为独一无二的字串,建议使用AP_Name+闹铃时间为AlarmID
	char pAlarmMsg[MSG_SIZE];       //闹铃显示讯息
	//PF_VOID msg_alarmcallbackfun;   //保留;请把它设为NULL
	PF_DisplayAlarm msg_alarmcallbackfun;   //保留;请把它设为NULL
	
	struct _AlarmNode       *next;	// all alarm node will be linked together
};

typedef struct _AlarmNode AlarmNode;
typedef struct _AlarmNode * PAlarmNode;
                   

struct SchDb
{
	unsigned int	sch_id;
	unsigned char   sch_attr;
	unsigned char  	sch_mark;
	unsigned short  	start_hour ;
	unsigned short  	start_minute ;
	unsigned short  	end_hour;
	unsigned short  	end_minute;
	unsigned short  	alarm_flag;
	unsigned short  	alarm_hour;
	unsigned short  	alarm_minute;
	unsigned short  	sch_period;
	unsigned short  	start_year;
	unsigned short  	start_month;
	unsigned short  	start_day;
	unsigned short  	end_year;
	unsigned short  	end_month;
	unsigned short  	end_day;
	char    	sch_title[20];
	char   		sch_content[500];
};

struct AlarmDb
{
	unsigned int	    alarm_id;
	unsigned short  	start_hour ;
	unsigned short  	start_minute ;
	unsigned short  	start_second;
	unsigned short  	alarm_period;
	unsigned short  	start_year;
	unsigned short  	start_month;
	unsigned short  	start_day;
	unsigned short  	end_year;
	unsigned short  	end_month;
	unsigned short  	end_day;
	char   		        alarm_title[50];
};

//typedef void (*hw_alarmHandler)(AlarmNode *pAlarm);

//void gabageCollection(AlarmNode *pNewHead);
//void setAlarmCallback(hw_alarmHandler pFun);
//void startSysAlarmer(int days, int hours, int minutes, int seconds);
//int  addAlarmLinklist(AlarmNode *pAlarm);
//int  removeAlarmLinklist(char *id);
AlarmNode *init_AlarmLinklist(void);
                  
DLL_EXP(void) guiDispAlarmMessage(HNDL handle, char *msg);

/******************************************************************
 *  pTime:    要设置的响闹时间                                    *
 *  pAlarm:   标志Alarm的标志符,建议用AP名+时间字符串表示        *
 *  pMessage: 响闹时要显示的字符串, 引字串不宜过长                *
 *
 *******************************************************************/
DLL_EXP(int) guiAddAlarm(sysTime *pTime, char *pAlarmID, char *pMessage, unsigned short nPeriod);

DLL_EXP(int) guiRemoveAlarm(char *id);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -