📄 dvs.h
字号:
/*
*Copyright (c) 2007,北京声讯电子有限公司嵌入式组
*All rights reserved.
*
*文件名称:dvs.h
*文件标识:
*摘 要:远程服务器的配置参数
*
*当前版本:1.0
*作 者:李铭轩
*完成日期:2007年8月09日
*
*取代版本:
*原作者 :
*完成日期:
*/
#ifndef DVS_H
#define DVS_H
/*客户端发送命令*/
/***************************************登录****************************************************/
#define SXDVS_LOGIN 0xF10000 //客户端登录
#define SXDVS_LOGOUT 0xF10100 //客户端退出
#define SXDVS_USEREXCHANGE 0xF10200 //用户交互
//参数
//设备(INTER_DEVICECFG结构)
#define SXDVS_GET_DEVICECFG 0xF20000 //获取设备参数
#define SXDVS_SET_ DEVICECFG 0xF20001 //设置设备参数
//网络(INTER_NETCFG结构)
#define SXDVS_GET_NETCFG 0xF20100 //获取网络参数
#define SXDVS_SET_ NETCFG 0xF20101 //设置网络参数
//通道
//图象(INTER_PICCFG结构)
#define SXDVS_GET_PICCFG 0xF20200 //获取图象参数
#define SXDVS_SET_PICCFG 0x020201 //设置图象参数
//压缩(INTER_COMPRESSIONCFG结构)
#define SXDVS_GET_COMPRESSCFG 0xF20210 //获取编码参数
#define SXDVS_SET_COMPRESSCFG 0xF20211 //设置编码参数
#define SXDVS_GET_COMPRESSCFG_EX 0xF20218 //获取编码参数扩展
#define SXDVS_SET_COMPRESSCFG_EX 0xF20219 //设置编码参数扩展
//串口(INTER_RS232CFG结构)
#define SXDVS_GET_RS232CFG 0xF20310 //获取232串口参数
#define SXDVS_SET_RS232CFG 0xF20311 //设置232串口参数
//报警
//输入(INTER_ALARMINCFG结构)
#define SXDVS_GET_ALARMINCFG 0xF20410 //获取报警输入参数
#define SXDVS_SET_ALARMINCFG 0xF20411 //设置报警输入参数
//输出(INTER_ALARMOUTCFG结构)
#define SXDVS_GET_ALARMOUTCFG 0xF20420 //获取报警输出参数
#define SXDVS_SET_ALARMOUTCFG 0xF20421 //设置报警输出参数
//时间(INTER_TIME结构)
#define SXDVS_GET_TIMECFG 0xF20500 //获取DVS时间
#define SXDVS_SET_TIMECFG 0xF20501 //设置DVS时间
//本地预览(INTER_PREVIEWCFG结构)
#define SXDVS_GET_PREVIEWCFG 0xF20600 //获取预览参数
#define SXDVS_SET_PREVIEWCFG 0xF20601 //设置预览参数
#define SXDVS_GET_PREVIEWCFG_AUX 0xF20602 //获取副输出的预览参数(HF-S)
#define SXDVS_SET_PREVIEWCFG_AUX 0xF20603 //设置副输出的预览参数(HF-S)
//用户(INTER_USER结构)
#define SXDVS_GET_USERCFG 0xF20800 //获取用户参数
#define SXDVS_SET_USERCFG 0xF20801 //设置用户参数
#define SXDVS_GET_USERCFG_EX 0xF20802 //获取用户参数(扩展)
#define SXDVS_SET_USERCFG_EX 0xF20803 //设置用户参数(扩展)
//异常(INTER_EXCEPTION结构)
#define SXDVS_GET_EXCEPTIONCFG 0xF20900 //获取异常参数
#define SXDVS_SET_EXCEPTIONCFG 0xF20901 //设置异常参数
/***************************************操作*****************************************************/
//预览图象
#define SXDVS_P2PTCP 0xF30000 //TCP协议
#define SXDVS_P2PUDP 0xF30001 //UDP协议
#define SXDVS_MULTICAST 0xF30002 //多播
#define SXDVS_P2PRTP 0xF30003 //RTP协议
//多播与RTP协议在第二版开发中实现
#define SXDVS_AUDIODETACH_VIDEO 0xF30004 //音视频分开视频通道
#define SXDVS_AUDIODETACH_AUDIO 0xF30005 //音视频分开声音通道
#define SXDVS_DATAEXCHANGE 0xF30006 //发送数据交互命令
#define SXDVS_GETVIDEOEFFECT 0xF30007 //获得视频参数
#define SXDVS_SETVIDEOEFFECT 0xF30008 //设置视频参数
//云台
#define SXDVS_PTZ 0xF30200 //云台控制
#define SXDVS_GETPTZCONTROL 0xF30201 //获取云台控制权
#define SXDVS_TRANSPTZ 0xF30202 //透明云台控制
#define SXDVS_PTZWITHSPEED 0xF30203 //带速度的云台控制
//报警
#define SXDVS_ALARMCHAN 0xF30400 //建立报警上传通道
#define SXDVS_SETALARMOUT 0xF30401 //控制报警输出
#define SXDVS_GETALARMOUT 0xF30402 //获取报警输出
//语音对讲
#define SXDVS_STARTVOICECOM 0xF30500 //开始语音对讲
//透明通道
#define SXDVS_SERIALSTART 0xF30600 //建立透明通道
#define SXDVS_SERIALSEND 0xF30601 //不建立透明通道直接发送数据
//恢复默认参数
#define SXDVS_RESTORE 0xF30700 //恢复默认参数
//保存参数
#define SXDVS_SAVE 0xF30800 //保存参数
//重启
#define SXDVS_REBOOT 0xF30900 //重启
//关机
#define SXDVS_SHUTDOWN 0xF30a00 //关机
//升级
#define SXDVS_UPGRDE 0xF30b00 //升级
//日志(INTER_SXDVSLOG结构)
#define SXDVS_GETDVSLOG 0xF30e00 //获取DVS日志
//工作状态(INTER_WORKSTATE结构)
#define SXDVS_GETWORKSTATE 0xF40000 //获取工作状态
/***************************************DVS返回的给客户端的状态************************************/
#define QULIFIED 1 //确认
#define EXCHANGE 2 //交互命令, 每隔5秒给客户端发送命令
#define ERRORPASSWD 3 //用户名密码错误
#define LOWPRI 4 //权限不足
#define OPER_NOPERMIT 5 //有高优先级的用户,操作不能执行
#define VERSIONNOMATCH 6 //版本不匹配
#define NOSPECCHANNEL 7 //没有指定的通道
#define NOSPECSERIALPORT 8 //没有指定的串口
#define NOSPECALARMINPORT 9 //没有指定的报警输入端口
#define NOSPECALARMOUTPORT 10 //没有指定的报警输出端口
#define NOSUPPORT 11 //设备不支持该操作
#define ERRORDATA 12 //客户端发送的数据有误
#define ERRORCHANSTATE 13 //DVS通道状态错误
#define COMMANDTIMEOUT 14 //DVS命令执行超时
#define MAXLINK 15 //预览图象的用户连接个数达到最大
#define WRITEFLASHERROR 16 //升级时写FLASH出错
#define UPGRADEFAIL 17 //升级时升级失败
#define UPGRADING 18 //正在升级
#define NOUSERID 19 //无此用户
#define MAXUSERNUM 20 //超出最大用户数,无法登陆
#define SXDVSOPERATEERROR 21 //DVS操作失败
#define IPMISMATCH 22 //IP地址不匹配
#define MACMISMATCH 23 //MAC地址不匹配
#define SXDVSENCODENOSTART 24 //此通道编码没有启动
#define UPGRADLANGUAGEMISMATCH 25 //升级文件语言不匹配
//DVS主动发起的请求命令
/***************************************DVS请求命令***********************************************/
#define DVS_DVSSTARTVOICOM 0x0100 //DVS发起对讲
#define DVS_DVSSTOPVOICOM 0x0101 //DVS停止语音对讲
/***************************************报警上传(INTER_ALARMINFO结构)***************************/
#define DVS_ALARMTOCENTER 0x0102 //报警主动上传
/***************************************日志上传(INTER_DVSLOG结构)******************************/
#define DVS_LOGTOCENTER 0x0103 //日志主动上传
//客户端返回给DVS的状态
#define QULIFIED 1 //确认
#define VOICECHAN_OPENED 2 //语音对讲通道已经打开
/***************************************通道图像**************************************************/
//异常处理方式
#define NOACTION 0x0 //无响应
#define WARNONMONITOR 0x1 //监视器上警告
#define WARNONAUDIOOUT 0x2 //声音警告
#define UPTOCENTER 0x4 //上传中心
#define TRIGGERALARMOUT 0x8 //触发报警输出
//OSD处理
#define OSD_DISABLE 0 // 不显示OSD
#define OSD_TRANS_WINK 1 // 透明,闪烁
#define OSD_TRANS_NO_WINK 2 // 透明,不闪烁
#define OSD_NO_TRANS_WINK 3 // 不透明,闪烁
#define OSD_NO_TRANS_NO_WINK 4 // 不透明,不闪烁
#define OSD_TYPE_ENGYYMMDD 0 // XXXX-XX-XX 年月日
#define OSD_TYPE_ENGMMDDYY 1 // XX-XX-XXXX 日月年
#define OSD_TYPE_CHNYYMMDD 2 // XXXX年XX月XX日
#define OSD_TYPE_CHNMMDDYY 3 // XX月XX日XXXX年
#define LOGO_DISABLE 0 // 不显示LOGO
#define LOGO_TRANS 1 // 透明
#define LOGO_NO_TRANS 2 // 不透明
/*参数定义*/
/*************************设备参数****************************************************/
typedef struct{
DWORD dwSize;
BYTE sDVSName[NAME_LEN]; //DVS名称
BYTE sSerialNumber[SERIALNO_LEN]; //序列号
DWORD dwSoftwareVersion; //软件版本号,高16位是主版本,低16位是次版本
DWORD dwSoftwareBuildDate; //软件生成日期,0xYYYYMMDD
DWORD dwDSPSoftwareVersion; //DSP软件版本,高16位是主版本,低16位是次版本
DWORD dwDSPSoftwareBuildDate; //DSP软件生成日期,0xYYYYMMDD
DWORD dwARMSoftwareVersion; //ARM软件版本,高16位是主版本,低16位是次版本
DWORD dwARMSoftwareBuildDate; //ARM软件生成日期,0xYYYYMMDD
DWORD dwPanelVersion; //接口板版本,高16位是主版本,低16位是次版本
DWORD dwHardwareVersion; //主板硬件版本,高16位是主版本,低16位是次版本
BYTE byAlarmInPortNum; //DVS报警输入个数
BYTE byAlarmOutPortNum; //DVS报警输出个数
BYTE byRS232Num; //DVS 232串口个数
BYTE byRS485Num; //DVS 485串口个数
BYTE byChanNum; //DVS 通道个数,编码路数
BYTE byStartChan; //起始通道号
BYTE byVGANum; //VGA口的个数
BYTE byUSBNum; //USB口的个数
char reservedData[ ]; //保留
}INTER_DEVICECFG,*LPINTER_DEVICECFG;
/**************************网口参数****************************************************/
typedef struct {
DWORD dwDVSIP; //DVS IP地址
DWORD dwDVSIPMask; //DVS IP地址掩码
DWORD dwNetInterface; //网络接口
WORD wDVSPort; //端口号
char reservedData1[2]; //保留
BYTE byMACAddr[MACADDR_LEN]; //物理地址,只用于显示
char reservedData2[2]; //保留
}INTER_ETHERNET;
/**************************网络参数*****************************************************/
typedef struct{
DWORD dwSize;
INTER_ETHERNET struEtherNet [MAX_ETHERNET]; //以太网口
DWORD dwManageHostIP; //远程管理主机地址
WORD wManageHostPort; //远程管理主机端口号
WORD wHttpPort; //代替保留的2个字节数据
DWORD dwDNSIP; //DNS服务器地址
BYTE sResolveName[NAME_LEN]; //解析服务器名称
DWORD dwResolveIP; //解析服务器地址
DWORD dwMultiCastAddr; //多播组地址
DWORD dwGatewayIP; //网关地址
DWORD dwNFSIP; //NFS主机IP地址
BYTE sNFSDirectory[PATHNAME_LEN]; //NFS目录
}INTER_NETCFG,*LPINTER_NETCFG;
/**************************通道图像参数**************************************************/
typedef struct{
//开始时间
BYTE byStartHour; //开始时间小时
BYTE byStartMin; //开始时间分钟
//结束时间
BYTE byStopHour; //结束时间小时
BYTE byStopMin; //结束时间分钟
}INTER_SCHEDTIME,*LPINTER_SCHEDTIME;
/**************************异常处理*******************************************************/
typedef struct
{
DWORD dwHandleType; //异常处理,异常处理方式的"或"结果 ?
DWORD dwAlarmOutTriggered; //触发的报警输出,按位,最大32个输出
}INTER_HANDLEEXCEPTION;
/*************************移动侦测报警****************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -