📄 hcnetsdk.h
字号:
#define MAX_STRINGNUM 4#ifdef SDK_ALCATEL #define WATCH_NUM 1000 #define SERVER_NUM 1000 #define ALARM_NUM 1000 #define MAX_SERVERNUM 1000#else #ifdef _UCLINUX #define WATCH_NUM 16 #define SERVER_NUM 16 #define ALARM_NUM 16 #define MAX_SERVERNUM 16 #else #define WATCH_NUM 512 #define SERVER_NUM 512 #define ALARM_NUM 512 #define MAX_SERVERNUM 512 #endif/* _UCLINUX */#endif/* SDK_ALCATEL */#define MAXCARD_NUM 40#define COMMANDLEN 1024#define MAXPROGRESS 100#define MAX_SERIALNUM 2#define MAX_CASTNUM 100#define CARDNUM_LEN 20#define MAX_VIDEOOUT 2//DVR TYPE#define DVR 1#define ATMDVR 2#define DVS 3#define DEC 4#define ENC_DEC 5#define DVR_HC 6#define DVR_HT 7#define DVR_HF 8#define DVR_HS 9#define DVR_HTS 10#define DVR_HB 11#define DVR_HCS 12#define DVS_A 13typedef struct { UINT8 sSerialNumber[SERIALNO_LEN]; //序列号 UINT8 byAlarmInPortNum; //DVR报警输入个数 UINT8 byAlarmOutPortNum; //DVR报警输出个数 UINT8 byDiskNum; //DVR 硬盘个数 UINT8 byDVRType; //DVR类型, 1:DVR 2:ATM DVR 3:DVS UINT8 byChanNum; //DVR 通道个数 UINT8 byStartChan; //起始通道号,例如DVS-1,DVR - 1}NET_DVR_DEVICEINFO, *LPNET_DVR_DEVICEINFO;enum{ TCP_MODE, UDP_MODE, MULTICAST_MODE, RTP_MODE};typedef struct{ int lChannel;//通道号 int lLinkMode;//最高位(31)为0表示主码流,为1表示子,0-31位表示码流连接方式: 0:TCP方式,1:UDP方式,2:多播方式,3 - RTP方式,4-音视频分开(TCP) PLAYRECT hPlayWnd;//播放窗口的句柄,为NULL表示不播放图象 char* sMultiCastIP;//多播组地址#ifdef NJLC_VER char mediaSrvIp[16]; UINT32 mediaSrvPort;#endif}NET_DVR_CLIENTINFO,*LPNET_DVR_CLIENTINFO;//预览参数typedef struct{ int bToScreen; int bToVideoOut; int nLeft; int nTop; int nWidth; int nHeight; int nReserved;}NET_DVR_DISPLAY_PARA,*LPNET_DVR_DISPLAY_PARA; typedef struct{ int lChannel;//通道号 int lLinkMode; //最高位(31)为0表示主码流,为1表示子,0-31位表示码流连接方式:0:TCP方式,1:UDP方式,2:多播方式,3 - RTP方式,4-电话线,5-128k宽带,6-256k宽带,7-384k宽带,8-512k宽带; char* sMultiCastIP; NET_DVR_DISPLAY_PARA struDisplayPara;}NET_DVR_CARDINFO,*LPNET_DVR_CARDINFO;typedef struct{ UINT32 dwYear; //年 UINT32 dwMonth; //月 UINT32 dwDay; //日 UINT32 dwHour; //时 UINT32 dwMinute; //分 UINT32 dwSecond; //秒}NET_DVR_TIME,*LPNET_DVR_TIME;typedef struct{ //开始时间 UINT8 byStartHour; UINT8 byStartMin; //结束时间 UINT8 byStopHour; UINT8 byStopMin;}NET_DVR_SCHEDTIME,*LPNET_DVR_SCHEDTIME;/*处理方式*/#define NOACTION 0x0 /*无响应*/#define WARNONMONITOR 0x1 /*监视器上警告*/#define WARNONAUDIOOUT 0x2 /*声音警告*/#define UPTOCENTER 0x4 /*上传中心*/#define TRIGGERALARMOUT 0x8 /*触发报警输出*/#define TRIGGERCATPIC 0x20 /* trigger catch picture */ typedef struct{ UINT32 dwHandleType; /*处理方式,处理方式的"或"结果*/ /*0x00: 无响应*/ /*0x01: 监视器上警告*/ /*0x02: 声音警告*/ /*0x04: 上传触发报警输出中心*/ /*0x08: 触发报警输出*/ /*0x20: 触发抓图*/ UINT8 byRelAlarmOut[MAX_ALARMOUT]; //报警触发的输出通道,报警触发的输出,为1表示触发该输出}NET_DVR_HANDLEEXCEPTION;//DVR设备参数typedef struct{ UINT32 dwSize; UINT8 sDVRName[NAME_LEN]; //DVR名称 UINT32 dwDVRID; //DVR ID,用于遥控器 UINT32 dwRecycleRecord; //是否循环录像,0:不是; 1:是//以下不能更改 UINT8 sSerialNumber[SERIALNO_LEN]; //序列号 UINT32 dwSoftwareVersion; //软件版本号,高16位是主版本,低16位是次版本 UINT32 dwSoftwareBuildDate; //软件生成日期,0xYYYYMMDD UINT32 dwDSPSoftwareVersion; //DSP软件版本,高16位是主版本,低16位是次版本 UINT32 dwDSPSoftwareBuildDate; // DSP软件生成日期,0xYYYYMMDD UINT32 dwPanelVersion; // 前面板版本,高16位是主版本,低16位是次版本 UINT32 dwHardwareVersion; // 硬件版本,高16位是主版本,低16位是次版本 UINT8 byAlarmInPortNum; //DVR报警输入个数 UINT8 byAlarmOutPortNum; //DVR报警输出个数 UINT8 byRS232Num; //DVR 232串口个数 UINT8 byRS485Num; //DVR 485串口个数 UINT8 byNetworkPortNum; //网络口个数 UINT8 byDiskCtrlNum; //DVR 硬盘控制器个数 UINT8 byDiskNum; //DVR 硬盘个数 UINT8 byDVRType; //DVR类型, 1:DVR 2:ATM DVR 3:DVS UINT8 byChanNum; //DVR 通道个数 UINT8 byStartChan; //起始通道号,例如DVS-1,DVR - 1 UINT8 byDecordChans; //DVR 解码路数 UINT8 byVGANum; //VGA口的个数 UINT8 byUSBNum; //USB口的个数 char reservedData[3]; //保留 #ifdef SDK_ALCATEL_DX UINT32 dwVideoMonitorEnabled; //1-enable 0-disable UINT32 dwVideoMonitorInterval; //in minutes char imageFormat[10]; //"JPEG" or "BMP"#endif}NET_DVR_DEVICECFG,*LPNET_DVR_DEVICECFG;typedef struct { char sDVRIP[16]; //DVR IP地址 char sDVRIPMask[16]; // DVR IP地址掩码 UINT32 dwNetInterface; //网络接口 1-10MBase-T 2-10MBase-T全双工 3-100MBase-TX 4-100M全双工 5-10M/100M自适应 UINT16 wDVRPort; //端口号 UINT8 byMACAddr[MACADDR_LEN]; //服务器的物理地址}NET_DVR_ETHERNET;//网络配置结构typedef struct{ UINT32 dwSize; NET_DVR_ETHERNET struEtherNet[MAX_ETHERNET]; /* 以太网口 */ char sManageHostIP[16]; //远程管理主机地址 UINT16 wManageHostPort; //远程管理主机端口号 char sDNSIP[16]; //DNS服务器地址 //UINT8 sResolveName[NAME_LEN]; //解析服务器名称 //char sResolveIP[16]; //解析服务器地址 char sMultiCastIP[16]; //多播组地址 char sGatewayIP[16]; //网关地址 char sNFSIP[16]; //NFS主机IP地址 UINT8 sNFSDirectory[PATHNAME_LEN];//NFS目录 UINT32 dwPPPOE; //0-不启用,1-启用 UINT8 sPPPoEUser[NAME_LEN]; //PPPoE用户名 char sPPPoEPassword[PASSWD_LEN];// PPPoE密码 char sPPPoEIP[16]; //PPPoE IP地址(只读)#ifdef SDK_V14 UINT16 wHttpPort; //HTTP端口号#endif}NET_DVR_NETCFG,*LPNET_DVR_NETCFG;//移动侦测typedef struct{ UINT8 byMotionScope[18][22]; /*侦测区域,共有22*18个小宏块,为1表示该宏块是移动侦测区域,0-表示不是*/ UINT8 byMotionSensitive; /*移动侦测灵敏度, 0 - 5,越高越灵敏,0xff关闭*/ UINT8 byEnableHandleMotion; /* 是否处理移动侦测 */ NET_DVR_HANDLEEXCEPTION struMotionHandleType; /* 处理方式 */ #ifdef SDK_V13 NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];#endif UINT8 byRelRecordChan[MAX_CHANNUM]; //报警触发的录象通道,为1表示触发该通道 }NET_DVR_MOTION,*LPNET_DVR_MOTION;//遮挡报警 区域大小704*576typedef struct{ UINT32 dwEnableHideAlarm; /* 是否启动遮挡报警 ,0-否,1-低灵敏度 2-中灵敏度 3-高灵敏度 */ UINT16 wHideAlarmAreaTopLeftX; /* 遮挡区域的x坐标 */ UINT16 wHideAlarmAreaTopLeftY; /* 遮挡区域的y坐标 */ UINT16 wHideAlarmAreaWidth; /* 遮挡区域的宽 */ UINT16 wHideAlarmAreaHeight; /*遮挡区域的高*/ NET_DVR_HANDLEEXCEPTION struHideAlarmHandleType; /* 处理方式 */ #ifdef SDK_V13 NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];#endif }NET_DVR_HIDEALARM,*LPNET_DVR_HIDEALARM;//信号丢失报警typedef struct{ UINT8 byEnableHandleVILost; /* 是否处理信号丢失报警 */ NET_DVR_HANDLEEXCEPTION struVILostHandleType; /* 处理方式 */ #ifdef SDK_V13 NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];#endif }NET_DVR_VILOST,*LPNET_DVR_VILOST;//通道图象结构typedef struct{ UINT32 dwSize; UINT8 sChanName[NAME_LEN]; UINT32 dwVideoFormat; /* 只读 视频制式 1-NTSC 2-PAL*/ UINT8 byBrightness; /*亮度,0-255*/ UINT8 byContrast; /*对比度,0-255*/ UINT8 bySaturation; /*饱和度,0-255 */ UINT8 byHue; /*色调,0-255*/ //显示通道名 UINT32 dwShowChanName; // 预览的图象上是否显示通道名称,0-不显示,1-显示 区域大小704*576 UINT16 wShowNameTopLeftX; /* 通道名称显示位置的x坐标 */ UINT16 wShowNameTopLeftY; /* 通道名称显示位置的y坐标 */ //信号丢失报警 NET_DVR_VILOST struVILost; //移动侦测 NET_DVR_MOTION struMotion; //遮挡报警 NET_DVR_HIDEALARM struHideAlarm; //遮挡 区域大小704*576 UINT32 dwEnableHide; /* 是否启动遮挡 ,0-否,1-是*/ UINT16 wHideAreaTopLeftX; /* 遮挡区域的x坐标 */ UINT16 wHideAreaTopLeftY; /* 遮挡区域的y坐标 */ UINT16 wHideAreaWidth; /* 遮挡区域的宽 */ UINT16 wHideAreaHeight; /*遮挡区域的高*/ //OSD UINT32 dwShowOsd;// 预览的图象上是否显示OSD,0-不显示,1-显示 区域大小704*576 UINT16 wOSDTopLeftX; /* OSD的x坐标 */ UINT16 wOSDTopLeftY; /* OSD的y坐标 */ UINT8 byOSDType; /* OSD类型(主要是年月日格式) */ /* 0: XXXX-XX-XX 年月日 */ /* 1: XX-XX-XXXX 月日年 */ /* 2: XXXX年XX月XX日 */ /* 3: XX月XX日XXXX年 */ UINT8 byDispWeek; /* 是否显示星期 */ UINT8 byOSDAttrib; /* OSD属性:透明,闪烁 */ /* 1: 透明,闪烁 */ /* 2: 透明,不闪烁 */ /* 3: 闪烁,不透明 */ /* 4: 不透明,不闪烁 */}NET_DVR_PICCFG,*LPNET_DVR_PICCFG;typedef struct{ UINT16 wHideAreaTopLeftX; /* 遮挡区域的x坐标 */ UINT16 wHideAreaTopLeftY; /* 遮挡区域的y坐标 */ UINT16 wHideAreaWidth; /* 遮挡区域的宽 */ UINT16 wHideAreaHeight; /*遮挡区域的高*/}NET_DVR_SHELTER,*LPNET_DVR_SHELTER;//SDK_V14typedef struct{ UINT32 dwSize; UINT8 sChanName[NAME_LEN]; UINT32 dwVideoFormat; /* 只读 视频制式 1-NTSC 2-PAL*/ UINT8 byBrightness; /*亮度,0-255*/ UINT8 byContrast; /*对比度,0-255*/ UINT8 bySaturation; /*饱和度,0-255 */ UINT8 byHue; /*色调,0-255*/ //显示通道名 UINT32 dwShowChanName; // 预览的图象上是否显示通道名称,0-不显示,1-显示 区域大小704*576 UINT16 wShowNameTopLeftX; /* 通道名称显示位置的x坐标 */ UINT16 wShowNameTopLeftY; /* 通道名称显示位置的y坐标 */ //信号丢失报警 NET_DVR_VILOST struVILost; //移动侦测 NET_DVR_MOTION struMotion; //遮挡报警 NET_DVR_HIDEALARM struHideAlarm; //遮挡 区域大小704*576 UINT32 dwEnableHide; /* 是否启动遮挡 ,0-否,1-是*/ NET_DVR_SHELTER struShelter[MAX_SHELTERNUM]; //OSD UINT32 dwShowOsd;// 预览的图象上是否显示OSD,0-不显示,1-显示 区域大小704*576 UINT16 wOSDTopLeftX; /* OSD的x坐标 */ UINT16 wOSDTopLeftY; /* OSD的y坐标 */ UINT8 byOSDType; /* OSD类型(主要是年月日格式) */ /* 0: XXXX-XX-XX 年月日 */ /* 1: XX-XX-XXXX 月日年 */ /* 2: XXXX年XX月XX日 */ /* 3: XX月XX日XXXX年 */ UINT8 byDispWeek; /* 是否显示星期 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -