📄 hc2.h
字号:
/* ************************************************************* * * common defines and structures for HC * * *************************************************************/#ifndef _WXXT_HC_COMMON_H_#define _WXXT_HC_COMMON_H_#define NO_WIRENESS_ALERT 0#define NO_WIRELESS_ALERT 0#define NO_ALERT 0#include "share.h"#define CHINESE_LIB "/zx/hzk16"/* log file & flags */#define HC_MAIN_LOG "/tmp/hcmain.log"#define HC_DISPLAY_LOG "/tmp/hc_display.log"#define HC_KEY_LOG "/tmp/hc_key.log"#define HC_AUDIO_LOG "/tmp/hc_audio.log"#define HC_ALARM_LOG "/tmp/hc_alarm.log"#define HC_DEFENCE_LOG "/tmp/hc_defence.log"#define HC_GENERAL_LOG "/tmp/hc_general.log"#define HC_MENU_LOG "/tmp/hc_menu.log"/* unix domain socket */#define HC_KEY_SOCK "/tmp/.hc_key_sock"#define HC_EVENT_AUDIO_SOCK "/tmp/.hc_event_audio_sock"#define HC_EVENT_ALARM_SOCK "/tmp/.hc_event_alarm_sock"#define HC_EVENT_DEFENCE_SOCK "/tmp/.hc_event_defence_sock"#define HC_EVENT_DISPLAY_SOCK "/tmp/.hc_event_display_sock"#define HC_EVENT_GENERAL_SOCK "/tmp/.hc_event_general_sock"#define HC_EVENT_MENU_SOCK "/tmp/.hc_event_menu_sock"#define HC_EVENT_WTDOG_SOCK "/tmp/.hc_event_wtdog_sock"/* sysv shm */#define HC_SHM_KEY (key_t)20040308#define HC_SHM_SIZE 4096 /* 4K *//* interval */#define HC_SELFCHECK_INTERVAL 5 /* 5 seconds */#define HC_CLEAR_DOORNUM_INTERVAL 10#define HC_KEEP_REDAIL_DOORNUM_INTERVAL 90/* make sure HC_TRY_DAIL_DURATION < HC_KEEP_REDAIL_DOORNUM_INTERVAL */#define HC_TRY_DAIL_DURATION 60#define HC_PLAY_VIDEO_DURATION 120#define SCAN_INTERVAL_WIRELESS 1 /* sec */#define SCAN_INTERVAL_WIRENESS 1 /* sec */#define SCAN_INTERVAL_PHONE 250000 /* usec *//* HC Keyboard map */#define UNUSED_KEY -1#define HC_MAX_KEY 22#define HC_CANCEL_KEY 10#define HC_STOP_KEY 11#define HC_LOOKDOOR_KEY 12#define HC_OPENDOOR_KEY 13#define HC_DEFENCE_ON_KEY 14#define HC_DEFENCE_OFF_KEY 15#define HC_MENU_KEY 16#define HC_PAGEDOWN_KEY 17#define HC_PAGEUP_KEY 18#define HC_SELECT_LEFT_KEY 19 /*add by jxb on 0414----right side or left side--for menu*/#define HC_SELECT_RIGHT_KEY 20#define HC_ESCAPE_KEY 21// alert type bit#define HC_URGENCY_ALERT_BIT 0x1#define HC_FIRE_ALERT_BIT 0x2#define HC_GAS_ALERT_BIT 0x4#define HC_POWER_OFF_ALERT_BIT 0x8#define HC_DEFENCE_AREA1_ALERT_BIT 0x10#define HC_DEFENCE_AREA2_ALERT_BIT 0x20#define HC_DEFENCE_AREA3_ALERT_BIT 0x40#define HC_DEFENCE_AREA4_ALERT_BIT 0x80//#define HC_DEFENCE_DOOR_ALERT_BIT 0x80#define HC_STOLEN_ALERT_BIT 0x100#define HC_HIJACK_ALERT_BIT 0x200#define HC_URGENCY_DEV_ALERT_BIT 0x1000#define HC_FIRE_DEV_ALERT_BIT 0x2000#define HC_GAS_DEV_ALERT_BIT 0x4000#define HC_VOLTAGE_LOW_ALERT_BIT 0x8000#define HC_DEFENCE_AREA1_DEV_ALERT_BIT 0x10000#define HC_DEFENCE_AREA2_DEV_ALERT_BIT 0x20000#define HC_DEFENCE_AREA3_DEV_ALERT_BIT 0x40000#define HC_DEFENCE_AREA4_DEV_ALERT_BIT 0x80000#define HC_WIRELESS_DOOR1_BIT 0x100000#define HC_WIRELESS_DOOR2_BIT 0x200000#define HC_WIRELESS_DOOR3_BIT 0x400000#define HC_WIRELESS_WIND1_BIT 0x1000000#define HC_WIRELESS_WIND2_BIT 0x2000000#define HC_WIRELESS_WIND3_BIT 0x4000000#define HC_WIRELESS_HELP_BIT 0x10000000//#define HC_DEFENCE_DOOR_DEV_ALERT_BIT 0x800000// wireness alert bit at 0x28000008#define WIRENESS_URGENCY_BIT 0x1//#define WIRENESS_GAS_BIT 0x2#define WIRENESS_GAS_DEV_BIT 0x2#define WIRENESS_FIRE_BIT 0x40//#define WIRENESS_POWER_OFF_BIT 0x8#define WIRENESS_VOLTAGE_LOW_BIT 0x8#define WIRENESS_URGENCY_DEV_BIT 0x10//#define WIRENESS_GAS_DEV_BIT 0x20#define WIRENESS_GAS_BIT 0x20#define WIRENESS_FIRE_DEV_BIT 0x4//#define WIRENESS_VOLTAGE_LOW_BIT 0x80#define WIRENESS_POWER_OFF_BIT 0x80// wireness alert bit at 0x28000010#define WIRENESS_DEFENCE_AREA1_BIT 0x10#define WIRENESS_DEFENCE_AREA2_BIT 0x2#define WIRENESS_DEFENCE_AREA3_BIT 0x4#define WIRENESS_DEFENCE_AREA4_BIT 0x8//#define WIRENESS_DEFENCE_DOOR_BIT 0x8#define WIRENESS_DEFENCE_AREA1_DEV_BIT 0x1 #define WIRENESS_DEFENCE_AREA2_DEV_BIT 0x20 #define WIRENESS_DEFENCE_AREA3_DEV_BIT 0x40#define WIRENESS_DEFENCE_AREA4_DEV_BIT 0x80 //#define WIRENESS_DEFENCE_DOOR_DEV_BIT 0x80#define WIRELESS_HELP_BIT 0x2#define WIRELESS_DOOR1_BIT 0x5#define WIRELESS_DOOR2_BIT 0x6#define WIRELESS_DOOR3_BIT 0x7#define WIRELESS_WIND1_BIT 0x9#define WIRELESS_WIND2_BIT 0xa#define WIRELESS_WIND3_BIT 0xb#define MAX_CLIENT 5typedef struct{ int magic; int is_host; /* host/slave */ in_addr_t hc_ip; /* self IP */ in_addr_t host_ip; /* For slave */ in_addr_t client[MAX_CLIENT];}hc_ip_t;typedef struct{ int magic; int version;}hc_version_t;#define HC_IP_MAGIC 0x20040323#define HC_VERSION_MAGIC 0x20040325typedef struct defence_off_pwd { int magic; char str[16]; char fake_str[16];}defence_pwd_t;typedef struct defence_on_history { int magic; int state; time_t begin_time; int delay_time; int door_delay_time;}defence_state_t;#define DEFENCE_MASK_INTERVAL 10#define DEFENCE_PWD_LEN 6#define DEFENCE_MAGIC_ON 0xdefdef#define DEFENCE_MAGIC_OFF 0xabcabc#define DEFENCE_STATE_ON 1#define DEFENCE_STATE_OFF 2#define DEFENCE_STATE_HOME 3#define DEFENCE_STATE_NIGHT 4typedef struct hc_init_info{ int magic; info_for_hc_t info;}hc_init_info_t;#define HC_INIT_INFO_MAGIC 0x20040315#define OTHER_OPTMAGIC 0x20040513typedef struct other_options{ int magic; struct voice_set{ int volume; int voice_type; }voice; struct shopping_pwd{ int needpwd_flag;// char str[32]; }shopping_pass; struct avoid_interrupt{ int flag; time_t end_time; }avoidinterrupt;}other_options_t;#define JDKZ_TYPE 18typedef struct jydq_type{ int num; struct jydq_typename jydqtypename[JDKZ_TYPE];}jydq_type_t;#define VOICE_NAME_NUM 20#define VOICE_TYPE_RESERVE 1#define VOICE_TYPE_SELF_RECORD 2#define VOICE_STORE_BUF_MAGIC 0x20040605typedef struct voice_buf{ int num; struct voice_name{ int type; int valid; char name[16]; char file[32]; }voice[VOICE_NAME_NUM];}voice_buf_t;typedef struct voice_store_buf{ int magic; int len; char buf[AUDIO_RECORD_LEN];}voice_store_buf_t;#define VOICE_STORE_DATA_OFF (int)( ((voice_store_buf_t *)0x0L)->buf )/* Variables stored in share memroy */struct global_var { volatile int ip_configure; //ip confiugre or not volatile int inited_when_boot; //info from serv/mtd volatile int mtd_size; //mtdisk size volatile int server1_active; volatile int server2_active; hc_init_info_t init_info; defence_pwd_t defence_passwd; defence_state_t defence_state; hc_version_t hc_version; hc_ip_t hc_ip; defence_option_t hc_defence_option; jydq_option_t hc_jydq_option; other_options_t hc_other_options; jydq_type_t hc_jydq_type; voice_buf_t voice_buf;};extern struct global_var *gvar;#define ghc_ip_configure (gvar->ip_configure)#define ghc_inited_when_boot (gvar->inited_when_boot)#define ghc_mtd_size (gvar->mtd_size)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -