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

📄 rc_ctl_mysql.h

📁 epoll机制的收发程序 只能在2.6内核上使用
💻 H
字号:
/*
 * 文 件 名:rc_ctl_mysql.h
 * 功    能:数据库相关的部分宏定义及函数接口
 * 作    者:马云龙
 * E_mail : mayunlong21@163.com
 * 开始时间:2007-4-24 9:39
 * 结束时间:2007-4-27 13:15
 * 修改时间:
 */
#ifndef		RC_CTL_MYSQL_H//2007-4-24 9:40
#define		RC_CTL_MYSQL_H

extern pthread_mutex_t	mutex_mysql;
extern MYSQL			mysql;//数据库链接



#define		MAX_TIMES_SAVE_MYSQL					100000	//写数据库的最大出错次数
#define		VAL_SELECT_MYSQL_NULL					1000	//数据库查询空

#define		MAX_TIMES_LOCK_MYSQL					1000	//尝试锁数据库的最大次数


#define		KEY_MYSQL_UPDATE						"update"
#define		KEY_MYSQL_SET							"set"
#define		KEY_MYSQL_SELECT						"select"
#define		KEY_MYSQL_WHERE							"where"
#define		KEY_MYSQL_FROM							"from"
#define		KEY_MYSQL_INSERT						"insert"
#define		KEY_MYSQL_INTO							"into"
#define		KEY_MYSQL_VALUES						"values"
#define		KEY_MYSQL_AS							"as"
#define		KEY_MYSQL_JOIN							"join"
#define		KEY_MYSQL_ON							"on"
#define		KEY_MYSQL_AND							"and"

/* 数据库表名字及字段的定义 */
#define		NAME_TABLE_MYSQL_CAMERA					"camera"//摄像机列表的表
#define		KEY_CAMID								"camId"//摄像机id
#define		KEY_USERID								"userId"//用户id
#define		KEY_PRODUCTNUM							"productNum"//产品序列号
#define		KEY_PORT_NET							"port"//摄像机的网络映射端口

#define		NAME_TABLE_USER							"user"

#define		NAME_TABLE_MYSQL_AR003					"ar003"//总表
#define		KEY_CAMERA_ID							"camera_id"//摄像机在数据库中的id号码
#define		KEY_USER_ID								"user_id"//用户id
#define		KEY_SERIAL_NUMBER						"serial_number"//序列号
#define		KEY_VERSION								"version"//版本
#define		KEY_UPDATE_TIMES						"update_times"//更新时间
#define		KEY_LAST_UPDATE_DATETIME				"last_update_datetime"//上次更新时间
#define		KEY_ONLINE_USERS						"online_users"//在线用户数
#define		KEY_ONLINE_CAMERA						"online"//摄像机在线状态

//=================================================================================================
#define		NAME_TABLE_MYSQL_ALARMHOST					"alarmhost"
#define		NAME_TABLE_MYSQL_ALARMCLIENT				"alarmclient"


#define		KEY_ALARM_NAME_A								"a"
#define		KEY_ALARM_CHANNELNAME							"channelName"
#define		KEY_ALARM_TYPENAME								"typeName"
#define		KEY_ALARM_ALARM									"alarm"
#define		KEY_ALARM_ALARMHOST								"alarmhost"
#define		KEY_ALARM_ALARMHOSTID							"alarmHostId"
#define		KEY_ALARM_TID									"tid"
#define		KEY_ALARM_SERIALNUMBER_0						"serialNumber"
#define		KEY_ALARM_ALARMID								"alarmid"

#define		KEY_ALARM_NAME_AH								"ah"
#define		KEY_ALARM_ADDRESS								"address"
#define		KEY_ALARM_SN_CLI								"alarmClientSN"
#define		KEY_ALARM_USERID								"userId"
#define		KEY_ALARM_PRODUCTNUM							"productnum"
#define		KEY_ALARM_CAMNAME								"camName"
#define		KEY_ALARM_CAMID									"camid"
#define		KEY_ALARM_CAMERAID								"cameraid"
#define		KEY_ALARM_SERIALNUMBER							"serialnumber"
#define		KEY_ALARM_C										"c"
#define		KEY_ALARM_HOST									"alarmhost"

#define		KEY_ALARM_REALNAME								"realName"
#define		KEY_ALARM_TEL									"tel"
#define		KEY_ALARM_MOBILETEL								"mobileTel"
#define		KEY_ALARM_ID									"id"
//=================================================================================================
#define		NAME_TABLE_MYSQL_AR003_DDNS				"ar003_ddnsupnp"//ddns页
#define		KEY_CAMERA_ID_DDNS						"camera_id"//摄像机的id号码
#define		KEY_USE_DDNS							"use_ddns"//是否启用ddns
#define		KEY_DDNS_SERVER							"ddns_server"//ddns服务器
#define		KEY_DDNS_UPDATE_SPACE					"ddns_update_space"//ddns更新间隔
#define		KEY_DDNS_STATE							"ddns_state"//ddns状态
#define		KEY_USE_UPNP							"use_upnp"//是否启用upnp

//=================================================================================================
#define		NAME_TABLE_MYSQL_AR003_MAILFTP			"ar003_mailftp"//传输页
#define		KEY_CAMERA_ID_MAILFTP					"camera_id"//摄像机的id号码
#define		KEY_SMTP_SERVER							"smtp_server"//smtp server
#define		KEY_SMTP_USER							"smtp_user"//发信人用户名
#define		KEY_SMTP_PWD							"smtp_pwd"//发信人密码
#define		KEY_FROM_ADDRESS						"from_address"//发信人邮箱
#define		KEY_SENDTO_ADDRESS						"sendto_address"//收信人邮箱
#define		KEY_USE_CHECK_SMTP						"use_check_smtp"//是否校验
#define		KEY_FTP_PORT							"ftp_port"//ftp端口
#define		KEY_FTP_SERVER							"ftp_server"//ftp服务器
#define		KEY_FTP_USER							"ftp_user"//ftp用户名
#define		KEY_FTP_PWD								"ftp_pwd"//ftp用户密码
#define		KEY_FTP_WORK_MOD						"ftp_work_mod"//ftp工作模式


//=================================================================================================
#define		NAME_TABLE_MYSQL_AR003_NETWORK			"ar003_network"//网络页
#define		KEY_CAMERA_ID_NETWORK					"camera_id"//摄像机的id号码
#define		KEY_GET_IP_WAY							"get_ip_way"//ip地址获取方式
#define		KEY_IP_ADDRESS							"ip_address"//ip地址
#define		KEY_SUB_MASK							"sub_mask"//子网掩码
#define		KEY_GATEWAY								"gateway"//网关
#define		KEY_DNS_SERVER1							"dns_server1"//ddns1
#define		KEY_DNS_SERVER2							"dns_server2"//ddns2
#define		KEY_MAC_ADDRESS							"mac_address"//mac地址
#define		KEY_PPPOE_ACCOUNT						"pppoe_account"//pppoe帐户
#define		KEY_PPPOE_PWD							"pppoe_pwd"//pppoe密码
#define		KEY_HTTP_PORT							"http_port"//http端口
#define		KEY_UDP_VIDEO_PORT						"udp_video_port"//视频端口
#define		KEY_UDP_AUDIO_PORT						"udp_audio_port"//音频端口
#define		KEY_WLAN_SSID							"wlan_ssid"//ssid
#define		KEY_NET_TYPE							"net_type"//网络类型
#define		KEY_WEP									"wep"//wep
#define		KEY_WLAN_KEY_SEL						"wlan_key_sel"//密钥格式
#define		KEY_WLAN_KEY_ID							"wlan_key_id"//密钥id
#define		KEY_WLAN_KEY							"wlan_key"//密钥值

//=================================================================================================
#define		NAME_TABLE_MYSQL_AR003_SECURITY			"ar003_security"//安全页
#define		KEY_CAMERA_ID_SECURITY					"camera_id"//摄像机的id号码
#define		KEY_ADMIN_NAME							"admin_name"//管理员名
#define		KEY_ADMIN_PWD							"admin_pwd"//管理员密码
#define		KEY_USER_NAME							"user_name"//普通用户名
#define		KEY_USER_PWD							"user_pwd"//普通用户密码
#define		KEY_PRIVATE_NET_NAME					"private_net_name"//保密网络名

//=================================================================================================
#define		NAME_TABLE_MYSQL_AR003_SYSTEM			"ar003_system"//系统页
#define		KEY_CAMERA_ID_SYSTEM					"camera_id"//摄像机的id号码
#define		KEY_CAMERA_NAME							"camera_name"//摄像机名
#define		KEY_NO_USE_LED							"no_use_led"//是否关闭led
#define		KEY_SET_TIME_MOD						"set_time_mod"//设置时间的方式
#define		KEY_NTP_SERVER							"ntp_server"//ntp server
#define		KEY_TIME_ZONE							"time_zone"//时区
#define		KEY_SET_TIME_SPACE						"set_time_space"//更新间隔

//=================================================================================================
#define		NAM_TABLE_MYSQL_AR003_TRIGGER			"ar003_trigger"//应用页
#define		KEY_CAMERA_ID_TRIGGER					"camera_id"//摄像机的id号码
#define		KEY_MD_1								"md_1"
#define		KEY_SENSITIVITY_1						"sensitivity_1"
#define		KEY_MD_2								"md_2"
#define		KEY_SENSITIVITY_2						"sensitivity_2"
#define		KEY_USE_INFRARED_ALARM					"use_infrared_alarm"
#define		KEY_SAVE_IMG_PC							"save_img_pc"
#define		KEY_SAVE_IMG_SDCARD						"save_img_sdcard"
#define		KEY_SAVE_IMG_MODE						"save_img_mode"
#define		KEY_SEND_IMG_BY_EMAIL					"send_img_by_email"
#define		KEY_SEND_IMG_BY_FTP						"send_img_by_ftp"
#define		KEY_TIMER_GET_PIC						"timer_get_pic"
#define		KEY_DELAY_CHECK_EVENT					"delay_check_event"
#define		KEY_USE_ALARM_TXT						"use_alarm_txt"
#define		KEY_ALARM_TXT							"alarm_txt"
#define		KEY_USE_ALARM_SOUND						"use_alarm_sound"
#define		KEY_USE_GPIO1							"use_gpio1"
#define		KEY_GPIO1_TIMER							"gpio1_timer"
#define		KEY_USE_GPIO2							"use_gpio2"
#define		KEY_GPIO2_TIMER							"gpio2_timer"

//=================================================================================================
#define		NAME_TABLE_MYSQL_AR003_VIDEO			"ar003_video"//视频页
#define		KEY_CAMERA_ID_VIDEO						"camera_id"//摄像机的id号码
#define		KEY_VIDEO_TXT							"video_txt"//视频文本
#define		KEY_VIDEO_SIZE							"video_size"//图像大小
#define		KEY_VIDEO_QUALITY						"video_quality"//图像质量
#define		KEY_VIDEO_FRAME_RATE					"video_frame_rate"//帧率
#define		KEY_DEL_RAY_WAY							"del_ray_way"//反闪烁
#define		KEY_USE_MIRROR_H						"use_mirror_h"//行镜像
#define		KEY_USE_MIRROR_L						"use_mirror_l"//列镜像
#define		KEY_USE_FRAME_RATE_CTRL					"use_frame_rate_ctrl"//帧率控制
#define		KEY_SOUND_SWITCH						"sound_switch"//声音开关

/*
 * 功  能:在数据库中查找摄像机是否已经添加
 * 参  数:serial:摄像机序列号
 *         mysql:已经打开的数据库
 *         lab_mysql:标志数据库表是否存在
 * 返回值:已经存在返回值大于0,否则返回值小于0
 */
int rc_select_cam_mysql(const unsigned char *serial, struct_lab_mysql *lab_mysql);

/*
 * 功  能:在数据库中查找摄像机序列号是否已经添加
 * 参  数:serial:摄像机序列号
 *         mysql:已经打开的数据库
 *         lab_mysql:标志数据库表是否存在
 * 返回值:已经存在返回值大于0,否则返回值小于0
 */
int rc_select_serial_mysql(const unsigned char *serial, struct_lab_mysql *lab_mysql);

/*
 * 功  能:向数据库中添加摄像机序列号表
 * 参  数:serial:摄像机序列号
 *         version:摄像机版本
 *         mysql:已经链接的数据库
 *         lab_mysql:标志数据库表是否存在
 *         logintime:摄像机的链接时间
 * 返回值:成功返回0,否则返回-1
 */
int rc_add_ar003_sql(const unsigned char *serial, const unsigned char *version, struct_lab_mysql *lab_mysql, unsigned long int logintime);

/*
 * 功  能:修改数据库中的摄像机状态
 * 参  数:lab_mysql:数据库是否存在的标志
 *         logintime:摄像机的登陆时间
 * 返回值:成功返回0,否则返回-1
 */
int rc_change_state_cam(struct_lab_mysql *lab_mysql, unsigned long int logintime);


/*
 * 功  能:保存数据库
 * 参  数:type:标志是摄像机发给服务器的还是cgi传来的
 *         serial:摄像机序列号
 *         lab:标志是哪个网页
 *         buf:数据缓冲区
 *         mysql:已经打开的数据库
 *         lab_mysql:标志数据库表是否存在
 *         logintime:摄像机的登陆时间
 * 返回值:成功返回0,否则返回-1
 */
int rc_save_mysql_web(int type, const unsigned char *serial, int lab, const unsigned char *buf, struct_lab_mysql *lab_mysql, unsigned long int logintime);

/*
 * 功  能:根据摄像机序列号从数据库中获取摄像机的信息
 * 参  数:serial:摄像机序列号
 *         cammsg:保存在数据库中的一些摄像机信息
 *         mysql:已经链接的数据库结构体
 * 返回值:成功返回0,否则返回-1
 */
int rc_get_cam_database(const unsigned char *serial, struct_cam_local *cammsg);

/*
 * 功  能:根据摄像机的序列号获取摄像机的外网nat端口
 * 参  数:serial:摄像机的序列号
 * 返回值:直接返回摄像机的外网映射端口
 */
unsigned short int rc_get_port_nat(const char *serial);

/*
 * 功  能:根据报警器id和序列号来获取报警的信息
 * 参  数:id:报警器id
 *         serial:报警器序列号
 *         msg:要报警的信息
 * 返回值:成功返回0,否则返回-1
 */
int rc_msg_alarm(unsigned short int id, const char *serial, struct_msg_alarm *msg);


/*
 * 功  能:校验报警主机在数据库中是否存在
 * 参  数:serial:报警主机的序列号
 * 返回值:成功返回0,失败或者不存在返回-1
 */
int rc_check_alarmhost(const char *serial);

/*
 * 功  能:校验报警客户端在数据库中是否存在
 * 参  数:serial:报警客户端的序列号
 * 返回值:成功返回0,失败或者不存在返回-1
 */
int rc_check_alarmclient(const char *serial);









#endif//2007-4-24 9:40

⌨️ 快捷键说明

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