📄 rc_ctl_mysql.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 + -