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

📄 share.h

📁 一个通过无线设备传输文件程序主要涉及内容是网络通信和RS232设置
💻 H
字号:
/* ************************************************************* * * common defines and structures for server. * * *************************************************************/#ifndef _WXXT_SHARE_H_#define _WXXT_SHARE_H_#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <signal.h>#include <wait.h>#include <string.h>#include <errno.h>#include <time.h>#include <sys/wait.h>#include <sys/socket.h>#include <sys/un.h>#include <netinet/in.h>#include <arpa/inet.h>#include <sys/select.h>#include <sys/ipc.h>#include <sys/shm.h>#include <sys/resource.h>#include <syslog.h>#include <sys/time.h>#include <sys/reboot.h>#include <setjmp.h>#include <termios.h>#include <linux/fb.h>#include <sys/mman.h>#include <sys/ioctl.h>#include <linux/if.h>#include <linux/sockios.h>#include <linux/soundcard.h>#include <asm/types.h>#include <linux/mtd/mtd.h>#if 0#ifndef _HC_HOST_CLIENT_	/*是否为主从模式*/#define _HC_HOST_CLIENT_#endif#endif/* For mtd disk */#define DEFAULT_MTDBLOCK_SIZE	(16*1024*1024)#define MIN_MTDBLOCK_SIZE	(8*1024*1024)#define DISK_INFO_SIZE		(16*1024)#define DEV_NAME_KEYBOARD	"/dev/touchscreen/0raw"#define DEV_NAME_MTDBLOCK	"/dev/mtdblock/0"#define DEV_NAME_MTDISK		"/dev/mtd/0"#define DEV_NAME_AUDIO		"/dev/dsp"#define DEV_NAME_WTDOG		"/dev/watchdog/0raw"#define DEV_NAME_LCD		"/dev/fb/0"#define DEV_NAME_WIRENESS	"/dev/wireness/0raw"#define DEV_NAME_WIRELESS	"/dev/wireless/0raw"#define DEV_NAME_PHONE		"/dev/phone/0raw"#define DEV_NAME_LED		"/dev/led/0raw"#define DEV_NAME_CAM		"/dev/video0"#define DEV_NAME_CARD		"/dev/ttyS1"#define DEV_NAME_SWITCH		"/dev/powerswitch/0raw"#if 1#define MUC_FILE_PRIX		"/zx/res/"#else#define MUC_FILE_PRIX		"/tmp/res/"#endif#define MUC_FILE_ALARM		MUC_FILE_PRIX"alarm.muc"#define MUC_FILE_ALARM_NOTICE	MUC_FILE_PRIX"home.wav"	#define MUC_FILE_ALARM_NOTICE2	MUC_FILE_PRIX"music.wav"#define MUC_FILE_AUDIO_OFFHOOK	MUC_FILE_PRIX"dial.wav"//#define MUC_FILE_AUDIO_WAITEE	MUC_FILE_PRIX"music.wav"#define MUC_FILE_AUDIO_WAITER	MUC_FILE_PRIX"waiter.wav"#define MUC_FILE_AUDIO_WAITER2	MUC_FILE_PRIX"music.wav"#define MUC_FILE_AUDIO_RECORDER	MUC_FILE_PRIX"record.wav"#define MUC_FILE_AUDIO_RECORD2	MUC_FILE_PRIX"music.wav"#define MUC_FILE_AUDIO_SUSPEND	MUC_FILE_PRIX"suspend.wav"#define MUC_FILE_AUDIO_SUSPEND2	MUC_FILE_PRIX"music.wav"#define MUC_FILE_AUDIO_BUSY	MUC_FILE_PRIX"busy.wav"		#define MUC_FILE_AUDIO_FINISH	MUC_FILE_PRIX"finish.wav"#define MUC_FILE_AUDIO_NULLNUM	MUC_FILE_PRIX"nullnum.wav"#define MUC_FILE_AUDIO_NETBUSY	MUC_FILE_PRIX"netbusy.wav"#define MUC_FILE_AUDIO_USERBUSY	MUC_FILE_PRIX"userbusy.wav"#define MUC_FILE_CARD_READ	MUC_FILE_PRIX"card.wav"#define MUC_FILE_HELP		MUC_FILE_CARD_READ#define MUC_FILE_MSG		MUC_FILE_PRIX"msg.wav"#define SOUND_REC_FILE		"/tmp/sound.rec"#define USER_DEFINE_FILE	"/tmp/UserDefine.muc"#define BUSY_STATE_FINISH	1#define BUSY_STATE_NULLNUM	2#define BUSY_STATE_NETBUSY	3#define BUSY_STATE_USERBUSY	4#define BUSY_STATE_OTHERS	5#define AUDIO_BUFFER_LEN	256	//512		//record(n*128)#define AUDIO_RECORD_LEN	240000			//8K*30s							// > MAX_VIDEO_SIZE#define AUDIO_LIVE_COUNT	(8000/AUDIO_BUFFER_LEN)	   //1s#define AUDIO_LIVE_TIMEO	(5*8000/AUDIO_BUFFER_LEN)  //5S/* image size */#define DEFAULT_WIDTH 		320#define DEFAULT_HEIGHT 		240#define MAX_VIDEO_SIZE		(DEFAULT_WIDTH*DEFAULT_HEIGHT*3)/* valid sound threhold */#define MIN_VOLUME		256#define MIN_SNDCNT		20#define TIMEOUT_AUDIO_DIAL	30			//sec#define TIMEOUT_AUDIO_WAIT	30			//sec#define TIMEOUT_AUDIO_RECORD1	30			//sec, for record wait#define	TIMEOUT_AUDIO_RECORD2	30			//sec, for record long#define TIMEOUT_AUDIO_BUSY	10			//sec#define TIMEOUT_LOOKDOOR	60			//sec#define TIMEOUT_INFINITE	0x7fffffff		//infinite/* Must be shorter then normal callnum */#define CENTER_CALLNUM		"999"/* servers ip */#if 0#define WXXT_MAIN_SERV_IP1	"192.168.0.101"#define WXXT_MAIN_SERV_IP2	"192.168.0.101"#else#define WXXT_MAIN_SERV_IP1	"172.29.192.1"#define WXXT_MAIN_SERV_IP2	"172.29.192.2"#endif#define MULTICAST_BASE_IP	"224.10.0.0"#define MULTICAST_DWELL_IP	"224.20.0.1"/* ports */#define MAIN_SERV_INFO_PORT	9600#define PROBE_PORT		9611#define ALERT_PORT		(PROBE_PORT+1)#define MULTICAST_PORT		(PROBE_PORT+2)#define SPEAKIN_PORT		(PROBE_PORT+3)#define GENERAL_PORT		(PROBE_PORT+4)#define LOOKDOOR_PORT		(PROBE_PORT+5)#define	HC_DEFENCE_PORT		(PROBE_PORT+6) 	/*hc_defence listen*/#define	MSG_RECV_PORT		(PROBE_PORT+7)#define	SYSTEM_UPDATE_PORT	(PROBE_PORT+8)#define WEATHER_RECV_PORT	(PROBE_PORT+9)#define VIDEO_UDP_PORT		(PROBE_PORT+10)#define AUDIO_PORT		(PROBE_PORT+11)#define BROAD_CAST		8765#define BROAD_CAST_TIME		(BROAD_CAST+1)#define HOST_PORT		9800#define HOST_MENU_PORT		(HOST_PORT+1)#define HOST_DEFENCE_PORT	(HOST_PORT+2)#define HOST_ALARM_PORT		(HOST_PORT+3)#define HOST_GENERAL_PORT	(HOST_PORT+4)#define NETWORK_TIMEOUT		2		//second(should<10, for watchdog)/* log flag */#define PRINT_ERROR		1#define PRINT_DEBUG		2/* commands come from where */#define IS_HC			1#define IS_DC			2#define IS_SERV			4/* Keyboard driver */typedef struct{  unsigned short pressure;  unsigned short x;  unsigned short y;  unsigned short pad;}TS_RET;/* temp multicast msg head */#define MULTICAST_MAGIC		20030906struct multicast_head {	int magic;	struct timeval timestamp;	int sequence;	int size;	//char orsum;	//char xorsum;};/* sound message head(master-slave) */#define SOUND_MAGIC		20031127#define SOUND_COM_AUDIO		0	/* Audio data */	#define SOUND_COM_REQ		1	/* Request from Caller to callee */#define SOUND_COM_START		2	/* Callee respond */#define SOUND_COM_SUSPEND	3	/* Suspend command */#define SOUND_COM_RESUME	4	/* Resume command */#define SOUND_COM_RECORD	5	/* Record command */#define SOUND_COM_OPENDOOR	6	/* open door */#define SOUND_COM_STOPDOWN	7	/* take stop bar down*///#define SOUND_COM_FIN		7struct sound_head {        int 	magic;	int 	command;        int 	sequence;		//when REQ=hcnum, when START=new magic        int 	size;        struct timeval timestamp;};/* HC/DC recognized commands */#define XTMG_DC_OPEN_DOOR      1000#define XTMG_DC_GET_INFO       1001#define XTMG_HC_GET_INFO	1010#define	SET_SAFETY_PASS_NULL 	XTMG_SETHCSAFETYPASSNULL //85 add by jxb on 0214#define SYSTEM_UPDATE_IMG	"/tmp/system.img"#define SYSTEM_UPDATE_OFFSET	0x100000struct hc_table {        int doornum;        in_addr_t ip;};/* dc/hc get usce */#define dc2hc_get_usec(tv1, tv2) \  ((tv1.tv_sec-tv2.tv_sec)*1000000+tv1.tv_usec-tv2.tv_usec)/* Debug info output */#ifdef DEBUG #define ERR_DUMP()  \  err_dump(PRINT_ERROR, "###%s,%d,%s:  %s\n", __FILE__, __LINE__, __FUNCTION__, strerror(errno))#define DEBUG_DUMP(x) \  err_dump(PRINT_ERROR, "***%s,%d,%s:  %s\n", __FILE__, __LINE__, __FUNCTION__, x)#define ENTRY()	\  err_dump(PRINT_ERROR, ">>>%s,%d,%s\n", __FILE__, __LINE__, __FUNCTION__)#define ASSERT(x)  \  do{		   \    if( !(x) ){	   \      err_dump(PRINT_ERROR, "\n\n\tAssert fail: %s,%d,%s \n\n\n",__FILE__,__LINE__,__FUNCTION__); \      exit(-1);	   \    }		   \  }while(0)#define panic(x)   \  do{		   \    err_dump(PRINT_ERROR, "\n\n\tPanic %s,%d,%s: %s\n\n\n",__FILE__,__LINE__,__FUNCTION__,(x)); \    exit(-1);      \  }while(0)#else#define ERR_DUMP()	do{}while(0)#define DEBUG_DUMP(x)	do{}while(0)#define ENTRY()		do{}while(0)#define ASSERT(x)	do{}while(0)#define panic(x)	do{}while(0)#endif /*DEBUG*/  extern int 	zx_debug;extern int	*pserver1_active;extern int	*pserver2_active;extern void 	err_dump_init(char *logfile_prefix);extern void	err_dump_close(void);extern void 	err_dump(int flag, char *str, ...);extern void 	zx_exit(char *reason);extern void 	zx_daemon(void);extern void 	set_sighandler(void);extern void	sighandler(int sig);extern int 	open_voice(int flags);extern int 	close_voice(int fd);extern int 	get_voice(int fd, char *buf, int len);extern int 	get_voice_call(int fd, char *buf, int len);extern void 	play_voice(int fd, char *buf, int buflen);extern void 	play_voice_call(int fd, char *buf, int buflen);extern int 	play_voice_fd(int fd, int mucfd);extern int 	noise_check(char *buf, int len);extern void 	ipaudio_init(int magic);extern int 	ipaudio_get2play(int playfd, int sock);extern int 	ipaudio_rec2send(int recfd, int sock, struct sockaddr *addr, int alen);extern int	dsp_change_mode(int fd, int flag);#define	DSP_DC_ECHO	1#define DSP_DC_NORMAL	2#define DSP_HC_CALL	3#define DSP_HC_NORMAL	4extern int 	getkey_dc(int key, int max_key);extern int 	getkey_hc(int key, int max_key);extern void 	show_ledopen(int len);extern void 	show_ledcall(int len);extern void 	clear_led(void);extern void 	show_led(char *num);extern void 	clear_led6(void);extern void 	show_led6(char *num);extern int 	check_mtdblock_size(void);extern int 	mtd_read(char *buf, int len, int off);extern int 	mtd_write(char *buf, int len, int off);extern int 	mtd_write_image(char *fname, int off);extern void	dchc_ipname_filter(char *ip);extern int	dchc_set_mac(in_addr_t ip);extern int	dchc_set_ip(in_addr_t ip);extern int  	dchc_get_ver(void);extern in_addr_t make_multicast_group_ip(int building_num);extern void	power_lcdctr_on(void);extern void	power_lcdctr_off(void);extern void	power_lcdlight_on(void);extern void	power_lcdlight_off(void);extern void	power_electric_ctl(int line, int on);extern void	power_microphone_ctl(int on);extern void	power_speaker_ctl(int on);extern void	power_rs485_ctl(int on);extern void	power_sysled1_ctl(int on);extern void	power_sysled2_ctl(int on);extern void 	power_opendoor_ctl(int on);extern void 	power_camlight_ctl(int on);#define	power_keylight_off() power_speaker_ctl(0)#define power_keylight_on()  power_speaker_ctl(1)extern int	is_serv(in_addr_t ip);extern int	is_serv1(in_addr_t ip);extern int	is_serv2(in_addr_t ip);extern int 	connect_serv(int);extern int 	connect_byip(in_addr_t ip, int port);extern int 	connect_centerhc(int port, in_addr_t *ip);extern void 	server_timeout(int sockfd);extern int	readn2(int fd, char *buf, int len);extern int	writen2(int fd, char *buf, int len);extern int	readbuffer(int fd,char *inbuf);extern int	writebuffer(int fd,char *inbuf,int mes_len);extern int	dchc_record_dev_reboot(int version);extern void 	dchc_reconfigure_ret(int sock, struct Head *req, int err);extern int 	get_hc_ip(char *hc, int *ip);extern int	get_pos_ip(char *posno,in_addr_t *ip);extern int 	get_system_update_img(int sock);extern int 	reply_system_update(int ret);extern int 	send_alert_to_server(int alert_type,time_t when,int flag);extern int 	send_safety_to_server(int stat,int flag,time_t when);extern void 	send_card_scan_info_to_server(int cardid, int canin, time_t when, char *photo, int photo_size);extern int 	hc_get_sms( int sock, struct sms_num *sms );extern int 	hc_query_sms(int flag ,  struct sms_num **psms, int *pnum);extern int 	hc_read_sms(char *pname,  char **pbuf, int *plen);extern int 	hc_set_sms_read(u32 sendtime, u32 readtime);extern int 	hc_del_sms( u32 sendtime );extern int 	hc_del_sms_all(int flag);extern int 	hc_query_visit(int flag ,  struct guest_num **pguest, int *pnum);extern int 	hc_read_visit(char *pname,  char **pbuf, int *plen);extern int 	dc_write_visit(int guesttime, char *homeid, int letin, char *photo, int p_len, char *voice, int v_len);extern int 	hc_set_visit_read(u32 guesttime, u32 readtime);extern int 	hc_del_visit( u32 guesttime );extern int 	hc_del_visit_all(int flag);extern int 	hc_query_call(int flag ,  struct call_num **pcall, int *pnum);extern int 	hc_read_call(char *pname,  char **pbuf, int *plen);extern int 	hc_write_call(int calltime, char *homeid, char *buf, int len);extern int 	hc_set_call_read(u32 calltime, u32 readtime);extern int 	hc_del_call( u32 calltime );extern int 	hc_del_call_all(int flag);extern int 	get_ware_class_info(struct ware_class_info **pwareclass, int *num);extern int 	get_ware_info(int type, struct ware_info **pwareinfo, int *num);extern int 	query_booking_stat(int flag, struct ware_booking **pbooking,int *num);extern int 	query_car_stat(struct park **pcar,int *carnum);extern int 	query_bills(int flag,struct home_cost_bill **pbill,float *home_money,int *billnum);extern int	home_cancel_ware(int flag,int *pbillid,time_t buytime,int warenum, int num,char *homepwd, char *homeid);extern int	home_booking_ware(int falg,int warenum, int num, int *pbillid, char *homepwd,char *homeid);extern int	net_check_shopping_pwd(char *pwd);extern int	net_change_shopping_pwd(char *oldpwd,char *newpwd);extern int	get_defence_option(struct defence_option **pdefop);extern int	get_jydq_control_option(struct jydq_control_option **pjdkzop);extern int	set_defence_option(struct defence_option *pdefop);extern int	set_jydq_control_option(struct jydq_control_option *pjdkzop);extern int	get_jydq_typename(struct jydq_typename **pname,int *pnum);extern int	net_get_phone_num(struct phone_state *phone[],int *pnum);extern int	net_add_phone_num(char *phone);extern int	net_delete_phone_num(char *phone);extern int	net_set_phone_state(struct phone_state phone);extern void 	md5_encrypt(unsigned char *input,int input_len,char output[32]);extern int	get_jydq_typename(struct jydq_typename **pname,int *pnum);extern int	wdc_find_cardid(int cardid);extern int	wdc_get_info(struct info_for_dc *dcinfo);extern int 	cc_get_info(struct info_for_cc *info);extern int 	get_center_ip(struct centerip_info  *centerinfo);extern int 	get_wdc_ip(char *psno,int *pos_ip);extern int 	defence_mask_init(void);extern int 	hc_get_notice_fromserv(char *buf,int *buflen);extern int	hc_get_weather_info(int *type,int *temperature);#endif /* _WXXT_SHARE_H_ */

⌨️ 快捷键说明

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